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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? basictreeui.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
    protected FocusListener createFocusListener() {        return getHandler();    }    /**     * Creates the listener reponsible for getting key events from     * the tree.     */    protected KeyListener createKeyListener() {        return getHandler();    }    /**     * Creates the listener responsible for getting property change     * events from the selection model.     */    protected PropertyChangeListener createSelectionModelPropertyChangeListener() {	return getHandler();    }    /**     * Creates the listener that updates the display based on selection change     * methods.     */    protected TreeSelectionListener createTreeSelectionListener() {	return getHandler();    }    /**     * Creates a listener to handle events from the current editor.     */    protected CellEditorListener createCellEditorListener() {	return getHandler();    }    /**     * Creates and returns a new ComponentHandler. This is used for     * the large model to mark the validCachedPreferredSize as invalid     * when the component moves.     */    protected ComponentListener createComponentListener() {	return new ComponentHandler();    }    /**     * Creates and returns the object responsible for updating the treestate     * when nodes expanded state changes.     */    protected TreeExpansionListener createTreeExpansionListener() {	return getHandler();    }    /**     * Creates the object responsible for managing what is expanded, as     * well as the size of nodes.     */    protected AbstractLayoutCache createLayoutCache() {	if(isLargeModel() && getRowHeight() > 0) {	    return new FixedHeightLayoutCache();	}	return new VariableHeightLayoutCache();    }    /**     * Returns the renderer pane that renderer components are placed in.     */    protected CellRendererPane createCellRendererPane() {        return new CellRendererPane();    }    /**      * Creates a default cell editor.      */    protected TreeCellEditor createDefaultCellEditor() {	if(currentCellRenderer != null &&	   (currentCellRenderer instanceof DefaultTreeCellRenderer)) {	    DefaultTreeCellEditor editor = new DefaultTreeCellEditor		        (tree, (DefaultTreeCellRenderer)currentCellRenderer);	    return editor;	}	return new DefaultTreeCellEditor(tree, null);    }    /**      * Returns the default cell renderer that is used to do the      * stamping of each node.      */    protected TreeCellRenderer createDefaultCellRenderer() {	return new DefaultTreeCellRenderer();    }    /**     * Returns a listener that can update the tree when the model changes.     */    protected TreeModelListener createTreeModelListener() {	return getHandler();    }    //    // Uninstall methods    //    public void uninstallUI(JComponent c) {	completeEditing();	prepareForUIUninstall();	uninstallDefaults();	uninstallListeners();	uninstallKeyboardActions();	uninstallComponents();	completeUIUninstall();    }    protected void prepareForUIUninstall() {    }    protected void completeUIUninstall() {	if(createdRenderer) {	    tree.setCellRenderer(null);	}	if(createdCellEditor) {	    tree.setCellEditor(null);	}	cellEditor = null;	currentCellRenderer = null;	rendererPane = null;        componentListener = null;	propertyChangeListener = null;	mouseListener = null;	focusListener = null;	keyListener = null;	setSelectionModel(null);	treeState = null;	drawingCache = null;	selectionModelPropertyChangeListener = null;	tree = null;	treeModel = null;	treeSelectionModel = null;	treeSelectionListener = null;	treeExpansionListener = null;    }    protected void uninstallDefaults() {	if (tree.getTransferHandler() instanceof UIResource) {	    tree.setTransferHandler(null);	}    }    protected void uninstallListeners() {	if(componentListener != null) {	    tree.removeComponentListener(componentListener);	}        if (propertyChangeListener != null) {	    tree.removePropertyChangeListener(propertyChangeListener);	}        if (!DRAG_FIX) {            tree.removeMouseListener(defaultDragRecognizer);            tree.removeMouseMotionListener(defaultDragRecognizer);        }        if (mouseListener != null) {	    tree.removeMouseListener(mouseListener);	    if (mouseListener instanceof MouseMotionListener) {		tree.removeMouseMotionListener((MouseMotionListener)mouseListener);	    }	}        if (focusListener != null) {	    tree.removeFocusListener(focusListener);	}        if (keyListener != null) {	    tree.removeKeyListener(keyListener);	}	if(treeExpansionListener != null) {	    tree.removeTreeExpansionListener(treeExpansionListener);	}	if(treeModel != null && treeModelListener != null) {	    treeModel.removeTreeModelListener(treeModelListener);	}	if(selectionModelPropertyChangeListener != null &&	   treeSelectionModel != null) {	    treeSelectionModel.removePropertyChangeListener		(selectionModelPropertyChangeListener);	}	if(treeSelectionListener != null && treeSelectionModel != null) {	    treeSelectionModel.removeTreeSelectionListener		               (treeSelectionListener);	}        handler = null;    }    protected void uninstallKeyboardActions() {	SwingUtilities.replaceUIActionMap(tree, null);	SwingUtilities.replaceUIInputMap(tree, JComponent.					 WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,					 null);	SwingUtilities.replaceUIInputMap(tree, JComponent.WHEN_FOCUSED, null);    }    /**     * Uninstalls the renderer pane.     */    protected void uninstallComponents() {	if(rendererPane != null) {	    tree.remove(rendererPane);	}    }    /**     * Recomputes the right margin, and invalidates any tree states     */    private void redoTheLayout() {	if (treeState != null) {	    treeState.invalidateSizes();	}    }    //    // Painting routines.    //    public void paint(Graphics g, JComponent c) {	if (tree != c) {	    throw new InternalError("incorrect component");	}	// Should never happen if installed for a UI	if(treeState == null) {	    return;	}	// Update the lastWidth if necessary.	// This should really come from a ComponentListener installed on	// the JTree, but for the time being it is here.	int              width = tree.getWidth();	if (width != lastWidth) {	    lastWidth = width;	    if (!leftToRight) {		// For RTL when the size changes, we have to refresh the		// cache as the X position is based off the width.		redoTheLayout();		updateSize();	    }	}	Rectangle        paintBounds = g.getClipBounds();	Insets           insets = tree.getInsets();	if(insets == null)	    insets = EMPTY_INSETS;	TreePath         initialPath = getClosestPathForLocation	                               (tree, 0, paintBounds.y);	Enumeration      paintingEnumerator = treeState.getVisiblePathsFrom	                                      (initialPath);	int              row = treeState.getRowForPath(initialPath);	int              endY = paintBounds.y + paintBounds.height;	drawingCache.clear();	if(initialPath != null && paintingEnumerator != null) {	    TreePath   parentPath = initialPath;	    // Draw the lines, knobs, and rows	    // Find each parent and have them draw a line to their last child	    parentPath = parentPath.getParentPath();	    while(parentPath != null) {		paintVerticalPartOfLeg(g, paintBounds, insets, parentPath);		drawingCache.put(parentPath, Boolean.TRUE);		parentPath = parentPath.getParentPath();	    }	    boolean         done = false;	    // Information for the node being rendered.	    boolean         isExpanded;	    boolean         hasBeenExpanded;	    boolean         isLeaf;	    Rectangle       boundsBuffer = new Rectangle();	    Rectangle       bounds;	    TreePath        path;	    boolean         rootVisible = isRootVisible();	    while(!done && paintingEnumerator.hasMoreElements()) {		path = (TreePath)paintingEnumerator.nextElement();		if(path != null) {		    isLeaf = treeModel.isLeaf(path.getLastPathComponent());		    if(isLeaf)			isExpanded = hasBeenExpanded = false;		    else {			isExpanded = treeState.getExpandedState(path);			hasBeenExpanded = tree.hasBeenExpanded(path);		    }		    bounds = treeState.getBounds(path, boundsBuffer);		    if(bounds == null)			// This will only happen if the model changes out			// from under us (usually in another thread).			// Swing isn't multithreaded, but I'll put this			// check in anyway.			return;		    bounds.x += insets.left;		    bounds.y += insets.top;		    // See if the vertical line to the parent has been drawn.		    parentPath = path.getParentPath();		    if(parentPath != null) {			if(drawingCache.get(parentPath) == null) {			    paintVerticalPartOfLeg(g, paintBounds,						   insets, parentPath);			    drawingCache.put(parentPath, Boolean.TRUE);			}			paintHorizontalPartOfLeg(g, paintBounds, insets,						 bounds, path, row,						 isExpanded,						 hasBeenExpanded, isLeaf);		    }		    else if(rootVisible && row == 0) {			paintHorizontalPartOfLeg(g, paintBounds, insets,						 bounds, path, row,						 isExpanded,						 hasBeenExpanded, isLeaf);		    }		    if(shouldPaintExpandControl(path, row, isExpanded,						hasBeenExpanded, isLeaf)) {			paintExpandControl(g, paintBounds, insets, bounds,					   path, row, isExpanded,					   hasBeenExpanded, isLeaf);		    }                    //This is the quick fix for bug 4259260.  Somewhere we                    //are out by 4 pixels in the RTL layout.  Its probably                    //due to built in right-side padding in some icons.  Rather                    //than ferret out problem at the source, this compensates.             	    if (!leftToRight) {                        bounds.x +=4;                    }		    paintRow(g, paintBounds, insets, bounds, path,				 row, isExpanded, hasBeenExpanded, isLeaf);		    if((bounds.y + bounds.height) >= endY)			done = true;		}		else {		    done = true;		}		row++;	    }	}	// Empty out the renderer pane, allowing renderers to be gc'ed.	rendererPane.removeAll();    }    /**     * Paints the horizontal part of the leg. The receiver should     * NOT modify <code>clipBounds</code>, or <code>insets</code>.<p>     * NOTE: <code>parentRow</code> can be -1 if the root is not visible.     */    protected void paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds,					    Insets insets, Rectangle bounds,					    TreePath path, int row,					    boolean isExpanded,					    boolean hasBeenExpanded, boolean					    isLeaf) {	if (!paintLines) {	    return;	}        // Don't paint the legs for the root'ish node if the        int depth = path.getPathCount() - 1;	if((depth == 0 || (depth == 1 && !isRootVisible())) &&	   !getShowsRootHandles()) {	    return;        }	int clipLeft = clipBounds.x;	int clipRight = clipBounds.x + (clipBounds.width - 1);	int clipTop = clipBounds.y;	int clipBottom = clipBounds.y + (clipBounds.height - 1);	int lineY = bounds.y + bounds.height / 2;	// Offset leftX from parents indent.	if (leftToRight) {	    int leftX = bounds.x - getRightChildIndent();	    int nodeX = bounds.x - getHorizontalLegBuffer();		    if(lineY >= clipTop && lineY <= clipBottom && nodeX >= clipLeft &&	                                                 leftX <= clipRight ) {	        leftX = Math.max(Math.max(insets.left, leftX), clipLeft);		nodeX = Math.min(Math.max(insets.left, nodeX), clipRight);                if (leftX != nodeX) {                    g.setColor(getHashColor());                    paintHorizontalLine(g, tree, lineY, leftX, nodeX);                }	    }	}	else {	    int leftX = bounds.x + bounds.width + getRightChildIndent();	    int nodeX = bounds.x + bounds.width + 	                                  getHorizontalLegBuffer() - 1;	    if(lineY >= clipTop && lineY <= clipBottom &&	       leftX >= clipLeft && nodeX <= clipRight) {	        leftX = Math.min(leftX, clipRight);		nodeX = Math.max(nodeX, clipLeft);		g.setColor(getHashColor());		paintHorizontalLine(g, tree, lineY, nodeX, leftX);	    }	}    }    /**     * Paints the vertical part of the leg. The receiver should     * NOT modify <code>clipBounds</code>, <code>insets</code>.<p>     */    protected void paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds,					  Insets insets, TreePath path) {	if (!paintLines) {	    return;	}        int depth = path.getPathCount() - 1;	if (depth == 0 && !getShowsRootHandles() && !isRootVisible()) {	    return;        }	int lineX = getRowX(-1, depth + 1);	if (leftToRight) {            lineX = lineX - getRightChildIndent() + insets.left;	}	else {	    lineX = lastWidth - getRowX(-1, depth) - 9;	}	int clipLeft = clipBounds.x;	int clipRight = clipBounds.x + (clipBounds.width - 1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本视频中文字幕一区二区三区| 国产一区二区视频在线| 午夜精品视频在线观看| 精品一区二区av| 在线亚洲欧美专区二区| 久久欧美中文字幕| 麻豆成人在线观看| 在线看日本不卡| 国产精品灌醉下药二区| 国产一区二区不卡在线| 欧美岛国在线观看| 奇米色一区二区三区四区| 欧美影院一区二区| 亚洲精品高清视频在线观看| 在线看日韩精品电影| 国产欧美中文在线| 国产一区二区在线电影| 在线播放/欧美激情| 亚洲一区二区三区四区在线免费观看| 成人福利视频网站| 欧美韩国一区二区| 粉嫩av一区二区三区| 国产婷婷一区二区| 成人免费视频国产在线观看| 久久婷婷国产综合精品青草| 久久精品国产第一区二区三区| 欧美久久一二三四区| 亚洲mv在线观看| 欧美曰成人黄网| 五月天激情综合网| 欧美一级黄色大片| 精品一区二区av| 精品va天堂亚洲国产| 狠狠色丁香久久婷婷综| 国产午夜精品一区二区| 成人小视频免费在线观看| 中文字幕成人在线观看| 99re在线精品| 亚洲国产精品精华液网站| 欧美日本国产视频| 蜜臀av性久久久久蜜臀aⅴ| 精品国产一区二区亚洲人成毛片| 国产在线播放一区| 国产精品三级电影| 色天使色偷偷av一区二区| 亚洲乱码中文字幕| 777久久久精品| 久久电影网电视剧免费观看| 久久久久久久精| 91免费国产视频网站| 三级不卡在线观看| ww久久中文字幕| 99久久久精品| 亚洲最大的成人av| 日韩欧美视频在线| 99久久亚洲一区二区三区青草| 亚洲一区二区三区视频在线播放| 欧美一三区三区四区免费在线看| 欧美日韩亚洲另类| 韩国v欧美v日本v亚洲v| 亚洲视频香蕉人妖| 日韩三级视频在线观看| eeuss国产一区二区三区| 午夜欧美一区二区三区在线播放| 久久女同互慰一区二区三区| 色婷婷国产精品| 激情丁香综合五月| 亚洲成精国产精品女| 久久久91精品国产一区二区精品| 一本色道久久综合狠狠躁的推荐 | 1024亚洲合集| 91精品国产高清一区二区三区蜜臀 | 国产美女一区二区三区| 亚洲精品免费在线播放| 日韩免费视频一区二区| 欧洲激情一区二区| 国产精品69毛片高清亚洲| 一区二区理论电影在线观看| 国产专区欧美精品| 成人一道本在线| 丝袜国产日韩另类美女| 国产精品视频线看| 日韩亚洲电影在线| 在线中文字幕不卡| 成人av网站免费观看| 久久99精品网久久| 亚洲www啪成人一区二区麻豆| 国产日韩欧美高清| 日韩欧美一级在线播放| 91精品福利视频| 成人av影视在线观看| 激情六月婷婷久久| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美性xxxxxxxx| av在线不卡观看免费观看| 国内精品国产成人国产三级粉色| 偷窥少妇高潮呻吟av久久免费| 中文字幕一区二区三区四区不卡 | 91精品国产aⅴ一区二区| 色哟哟精品一区| 成人av免费网站| 成人美女在线观看| 国产成人av电影在线| 精品一区二区综合| 美女视频一区二区| 美女视频第一区二区三区免费观看网站| 夜夜嗨av一区二区三区网页 | 日韩一区二区精品| 国产精品久久久久aaaa樱花| 欧美tickling挠脚心丨vk| 欧美精品三级日韩久久| 精品视频一区二区不卡| 欧美日精品一区视频| 在线精品国精品国产尤物884a| 日本久久电影网| 日本高清视频一区二区| 欧美主播一区二区三区| 欧美三级中文字| 7777女厕盗摄久久久| 日韩三区在线观看| 久久精品人人爽人人爽| 国产精品人人做人人爽人人添| 中文av字幕一区| 亚洲一区自拍偷拍| 蜜桃视频一区二区三区在线观看| 久久成人av少妇免费| 国产精品一区二区视频| 国产91精品一区二区麻豆网站 | 国模大尺度一区二区三区| 国产精品一二二区| 91免费在线视频观看| 色婷婷亚洲婷婷| 欧美麻豆精品久久久久久| 91精品国产一区二区三区香蕉| 精品国产一二三| 中文字幕一区av| 亚洲国产精品嫩草影院| 美女mm1313爽爽久久久蜜臀| 国产成人日日夜夜| 一本久道久久综合中文字幕| 7777精品伊人久久久大香线蕉 | caoporm超碰国产精品| 日本国产一区二区| 精品少妇一区二区三区视频免付费 | 精品欧美黑人一区二区三区| 国产亚洲欧美日韩日本| 亚洲午夜激情网页| 国产一区二区伦理片| 97精品视频在线观看自产线路二| 国产精品资源在线看| 成人精品国产福利| 欧美午夜精品理论片a级按摩| 91精品福利在线一区二区三区| 久久这里只有精品6| 亚洲精品欧美专区| 韩国av一区二区三区在线观看| 色综合久久中文字幕| 日韩精品一区二区三区视频播放| 国产精品进线69影院| 日韩av一级片| 97精品国产97久久久久久久久久久久| 欧美日韩黄视频| 亚洲欧洲日本在线| 国产精品资源网| 欧美一区二区三区婷婷月色| ㊣最新国产の精品bt伙计久久| 美女在线视频一区| 91麻豆国产自产在线观看| 久久久天堂av| 免费观看在线综合色| 欧美三级三级三级| 久久久噜噜噜久久中文字幕色伊伊| 亚洲欧美日韩电影| 丰满少妇久久久久久久| 日韩一二三区视频| 亚洲成人激情综合网| 日本精品视频一区二区| 男女男精品网站| 欧美亚洲免费在线一区| 亚洲欧洲日本在线| 成人精品一区二区三区四区| 精品久久人人做人人爽| 日韩成人精品视频| 欧美精品亚洲二区| 亚洲一区二区在线播放相泽| 91丝袜呻吟高潮美腿白嫩在线观看| 久久精品视频免费| 国产精品主播直播| 久久久不卡网国产精品二区| 国产综合久久久久久久久久久久| 日韩视频不卡中文| 极品尤物av久久免费看| 日韩欧美国产精品一区| 久久国产精品免费| 337p日本欧洲亚洲大胆精品| 蜜臀av性久久久久蜜臀aⅴ| 欧美一区二区三区在| 久久福利视频一区二区| 久久综合99re88久久爱| 国产成人av电影在线|