亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dynamictreenode.java

?? 一個(gè)小公司要求給寫(xiě)的很簡(jiǎn)單的任務(wù)管理系統(tǒng)。
?? JAVA
字號(hào):
/* * @(#)DynamicTreeNode.java	1.13 05/11/17 *  * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: *  * -Redistribution of source code must retain the above copyright notice, this *  list of conditions and the following disclaimer. *  * -Redistribution in binary form must reproduce the above copyright notice,  *  this list of conditions and the following disclaimer in the documentation *  and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors may  * be used to endorse or promote products derived from this software without  * specific prior written permission. *  * This software is provided "AS IS," without a warranty of any kind. ALL  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST  * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY  * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *  * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility. *//* * @(#)DynamicTreeNode.java	1.13 05/11/17 */import javax.swing.tree.DefaultMutableTreeNode;import java.awt.Color;import java.awt.Font;import java.awt.Toolkit;import java.util.Random;/**  * DynamicTreeNode illustrates one of the possible ways in which dynamic  * loading can be used in tree.  The basic premise behind this is that  * getChildCount() will be messaged from JTreeModel before any children  * are asked for.  So, the first time getChildCount() is issued the  * children are loaded.<p>  * It should be noted that isLeaf will also be messaged from the model.  * The default behavior of TreeNode is to message getChildCount to  * determine this. As such, isLeaf is subclassed to always return false.<p>  * There are others ways this could be accomplished as well.  Instead of  * subclassing TreeNode you could subclass JTreeModel and do the same  * thing in getChildCount().  Or, if you aren't using TreeNode you could  * write your own TreeModel implementation.  * Another solution would be to listen for TreeNodeExpansion events and  * the first time a node has been expanded post the appropriate insertion  * events.  I would not recommend this approach though, the other two  * are much simpler and cleaner (and are faster from the perspective of  * how tree deals with it).  *  * NOTE: getAllowsChildren() can be messaged before getChildCount().  *       For this example the nodes always allow children, so it isn't  *       a problem, but if you do support true leaf nodes you may want  *       to check for loading in getAllowsChildren too.  *  * @version 1.13 11/17/05  * @author Scott Violet  */public class DynamicTreeNode extends DefaultMutableTreeNode{    // Class stuff.    /** Number of names. */    static protected float                    nameCount;    /** Names to use for children. */    static protected String[]                 names;    /** Potential fonts used to draw with. */    static protected Font[]                   fonts;    /** Used to generate the names. */    static protected Random                   nameGen;    /** Number of children to create for each node. */    static protected final int                DefaultChildrenCount = 7;    static {	String[]            fontNames;	try {	    fontNames = Toolkit.getDefaultToolkit().getFontList();	} catch (Exception e) {	    fontNames = null;	}	if(fontNames == null || fontNames.length == 0) {	    names = new String[] {"Mark Andrews", "Tom Ball", "Alan Chung",				      "Rob Davis", "Jeff Dinkins",				      "Amy Fowler", "James Gosling",				      "David Karlton", "Dave Kloba", 				      "Dave Moore", "Hans Muller",				      "Rick Levenson", "Tim Prinzing",				      "Chester Rose", "Ray Ryan",				      "Georges Saab", "Scott Violet",				      "Kathy Walrath", "Arnaud Weber" };	}	else {	    /* Create the Fonts, creating fonts is slow, much better to	       do it once. */	    int              fontSize = 12;	    names = fontNames;	    fonts = new Font[names.length];	    for(int counter = 0, maxCounter = names.length;		counter < maxCounter; counter++) {		try {		    fonts[counter] = new Font(fontNames[counter], 0, fontSize);		}		catch (Exception e) {		    fonts[counter] = null;		}		fontSize = ((fontSize + 2 - 12) % 12) + 12;	    }	}	nameCount = (float)names.length;	nameGen = new Random(System.currentTimeMillis());    }    /** Have the children of this node been loaded yet? */    protected boolean           hasLoaded;    /**      * Constructs a new DynamicTreeNode instance with o as the user      * object.      */    public DynamicTreeNode(Object o) {	super(o);    }    public boolean isLeaf() {	return false;    }    /**      * If hasLoaded is false, meaning the children have not yet been      * loaded, loadChildren is messaged and super is messaged for      * the return value.      */    public int getChildCount() {	if(!hasLoaded) {	    loadChildren();	}	return super.getChildCount();    }    /**      * Messaged the first time getChildCount is messaged.  Creates      * children with random names from names.      */    protected void loadChildren() {	DynamicTreeNode             newNode;	Font                        font;	int                         randomIndex;	SampleData                  data;	for(int counter = 0; counter < DynamicTreeNode.DefaultChildrenCount;	    counter++) {	    randomIndex = (int)(nameGen.nextFloat() * nameCount);	    if(fonts != null)		font = fonts[randomIndex];	    else		font = null;	    if(counter % 2 == 0)		data = new SampleData(font, Color.red, names[randomIndex]);	    else		data = new SampleData(font, Color.blue, names[randomIndex]);	    newNode = new DynamicTreeNode(data);	    /* Don't use add() here, add calls insert(newNode, getChildCount())	       so if you want to use add, just be sure to set hasLoaded = true	       first. */	    insert(newNode, counter);	}	/* This node has now been loaded, mark it so. */	hasLoaded = true;    }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费高清不卡av| 精品美女在线播放| 日韩久久一区二区| 色婷婷一区二区| 午夜婷婷国产麻豆精品| 欧美久久一二区| 国内成人精品2018免费看| 中文子幕无线码一区tr| 99精品视频一区| 亚洲国产综合色| 欧美va亚洲va国产综合| 国产成人亚洲精品狼色在线| 一区二区三区在线看| 精久久久久久久久久久| 99久久伊人网影院| 一区二区三区视频在线看| 久久精品理论片| 六月丁香婷婷久久| 中文字幕在线不卡一区| 久久色成人在线| 欧美一卡二卡在线观看| 欧美日韩视频第一区| 9l国产精品久久久久麻豆| 国产成人激情av| 国产米奇在线777精品观看| 视频在线观看91| 亚洲高清不卡在线观看| 夜夜精品视频一区二区| 亚洲免费观看高清完整版在线观看| 国产精品少妇自拍| 日本一区二区电影| 国产精品久久看| 中文字幕亚洲不卡| 综合久久久久久久| 亚洲精品乱码久久久久久日本蜜臀| 久久久久国产精品麻豆| 粉嫩绯色av一区二区在线观看| 另类小说色综合网站| 日韩av网站在线观看| 婷婷久久综合九色综合绿巨人 | 偷窥少妇高潮呻吟av久久免费| 成人欧美一区二区三区黑人麻豆| 国产人久久人人人人爽| 国产欧美综合在线| 中文字幕在线一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 精品免费一区二区三区| 欧美成人艳星乳罩| 久久久99精品免费观看| 国产清纯美女被跳蛋高潮一区二区久久w| 精品88久久久久88久久久| 久久理论电影网| 欧美国产综合色视频| 亚洲欧美日韩中文播放| 亚洲一区在线观看视频| 五月婷婷久久丁香| 激情图片小说一区| 国产精品亚洲专一区二区三区 | 色妞www精品视频| 欧美日韩一二区| 日韩女优制服丝袜电影| 国产三级欧美三级日产三级99| 中文字幕一区二区三区四区不卡 | 亚洲综合一二区| 欧美a级一区二区| 国产激情91久久精品导航| 国产精品1区2区3区在线观看| 99精品视频免费在线观看| 欧美日本精品一区二区三区| 久久日韩粉嫩一区二区三区| 亚洲欧美在线视频观看| 五月婷婷激情综合网| 国产精品亚洲专一区二区三区| 91首页免费视频| 日韩一区二区高清| 中文字幕人成不卡一区| 免费人成在线不卡| caoporen国产精品视频| 在线不卡a资源高清| 国产欧美综合在线观看第十页| 玉米视频成人免费看| 老司机一区二区| 91网站在线播放| 日韩精品一区二区三区swag| 国产精品美女久久久久久久久 | 成人黄页在线观看| 欧美日韩二区三区| 欧美激情综合在线| 免费成人小视频| 色婷婷综合久久| 国产蜜臀97一区二区三区| 日韩黄色一级片| 99re这里只有精品6| 精品精品欲导航| 亚洲综合丁香婷婷六月香| 国产成人亚洲综合a∨猫咪| 7777精品久久久大香线蕉| 国产精品成人免费精品自在线观看| 蜜桃在线一区二区三区| 在线观看一区二区视频| 国产精品萝li| 激情都市一区二区| 7777精品伊人久久久大香线蕉超级流畅| 国产精品五月天| 国产精品一区在线观看你懂的| 欧美片网站yy| 午夜精品视频在线观看| 成人免费高清在线观看| 欧美成人高清电影在线| 亚洲综合精品久久| 91色婷婷久久久久合中文| 国产偷v国产偷v亚洲高清| 久久国产麻豆精品| 欧美人xxxx| 午夜日韩在线电影| 欧美视频一区在线| 亚洲欧美色一区| 91视频观看免费| 国产精品成人一区二区三区夜夜夜 | 欧洲激情一区二区| 亚洲免费色视频| 成人丝袜高跟foot| 国产欧美综合在线观看第十页| 激情欧美日韩一区二区| 欧美成人一区二区三区| 久久电影网站中文字幕 | 日韩精品一区二区三区中文精品| 亚洲线精品一区二区三区| 欧美在线一二三四区| 亚洲一区视频在线| 欧美在线观看视频一区二区| 亚洲美女免费在线| 91黄色免费版| 一区二区日韩av| 欧美区一区二区三区| 丝袜亚洲另类丝袜在线| 欧美一区二区精品| 麻豆91免费观看| 精品成a人在线观看| 免费看欧美女人艹b| 精品国产乱码久久久久久久| 国产在线乱码一区二区三区| 国产亚洲欧美日韩在线一区| 国产精品综合一区二区| 国产精品女同一区二区三区| 99v久久综合狠狠综合久久| 亚洲欧美日韩系列| 在线一区二区三区| 日韩高清中文字幕一区| 精品欧美黑人一区二区三区| 东方欧美亚洲色图在线| 亚洲视频免费看| 欧美日韩精品一区视频| 青青草国产成人av片免费| 日韩精品中文字幕在线一区| 国产在线视频精品一区| 国产精品拍天天在线| 欧美在线观看视频一区二区| 免费人成黄页网站在线一区二区| 精品国一区二区三区| 成人av电影在线观看| 亚洲一区二区在线播放相泽 | 国产欧美日韩在线看| 97se亚洲国产综合自在线观| 亚洲高清久久久| 久久久精品天堂| 在线观看日韩电影| 裸体歌舞表演一区二区| 国产精品乱人伦中文| 欧美日韩视频不卡| 国产精品主播直播| 黑人巨大精品欧美一区| 国产精品福利电影一区二区三区四区| 欧美中文字幕一区二区三区| 狠狠色丁香婷婷综合| 亚洲欧美一区二区在线观看| 欧美日韩久久不卡| 成人精品小蝌蚪| 免费成人小视频| 亚洲人成亚洲人成在线观看图片| 欧美一区二区三区日韩| 成人av在线资源网站| 老司机免费视频一区二区三区| 中文字幕一区日韩精品欧美| 日韩欧美在线123| 一本到不卡精品视频在线观看| 麻豆极品一区二区三区| 一级女性全黄久久生活片免费| 久久久五月婷婷| 欧美精品第一页| 91美女片黄在线| 国产一区二区电影| 日韩精品成人一区二区在线| 国产精品白丝在线| 精品黑人一区二区三区久久| 欧洲色大大久久| aaa亚洲精品| 韩国女主播一区二区三区| 一区二区三区四区高清精品免费观看| 久久久亚洲国产美女国产盗摄|