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

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

?? basicsplitpaneui.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
    }    /**     * LayoutManager for JSplitPanes that have an orientation of     * HORIZONTAL_SPLIT.     */    public class BasicHorizontalLayoutManager implements LayoutManager2    {        /* left, right, divider. (in this exact order) */        protected int[]         sizes;        protected Component[]   components;	/** Size of the splitpane the last time laid out. */	private int             lastSplitPaneSize;	/** True if resetToPreferredSizes has been invoked. */	private boolean         doReset;	/** Axis, 0 for horizontal, or 1 for veritcal. */	private int             axis;	BasicHorizontalLayoutManager() {	    this(0);	}        BasicHorizontalLayoutManager(int axis) {	    this.axis = axis;            components = new Component[3];            components[0] = components[1] = components[2] = null;            sizes = new int[3];        }	//	// LayoutManager	//	/**         * Does the actual layout.         */        public void layoutContainer(Container container) {            Dimension   containerSize = container.getSize();            // If the splitpane has a zero size then no op out of here.            // If we execute this function now, we're going to cause ourselves            // much grief.            if (containerSize.height <= 0 || containerSize.width <= 0 ) {		lastSplitPaneSize = 0;                return;            }	    int         spDividerLocation = splitPane.getDividerLocation();            Insets      insets = splitPane.getInsets();	    int         availableSize = getAvailableSize(containerSize,							 insets);	    int         newSize = getSizeForPrimaryAxis(containerSize);	    int         beginLocation = getDividerLocation(splitPane);	    int         dOffset = getSizeForPrimaryAxis(insets, true);	    Dimension   dSize = (components[2] == null) ? null :		                 components[2].getPreferredSize();	    if ((doReset && !dividerLocationIsSet) || spDividerLocation < 0) {		resetToPreferredSizes(availableSize);	    }	    else if (lastSplitPaneSize <= 0 ||		     availableSize == lastSplitPaneSize || !painted ||		     (dSize != null &&		      getSizeForPrimaryAxis(dSize) != sizes[2])) {		if (dSize != null) {		    sizes[2] = getSizeForPrimaryAxis(dSize);		}		else {		    sizes[2] = 0;		}		setDividerLocation(spDividerLocation - dOffset, availableSize);		dividerLocationIsSet = false;	    }	    else if (availableSize != lastSplitPaneSize) {		distributeSpace(availableSize - lastSplitPaneSize,                                getKeepHidden());	    }	    doReset = false;	    dividerLocationIsSet = false;	    lastSplitPaneSize = availableSize;            // Reset the bounds of each component            int nextLocation = getInitialLocation(insets);	    int counter = 0;            while (counter < 3) {                if (components[counter] != null &&		    components[counter].isVisible()) {                    setComponentToSize(components[counter], sizes[counter],                                       nextLocation, insets, containerSize);                    nextLocation += sizes[counter];                }                switch (counter) {                case 0:                    counter = 2;                    break;                case 2:                    counter = 1;                    break;                case 1:                    counter = 3;                    break;                }            }	    if (painted) {		// This is tricky, there is never a good time for us		// to push the value to the splitpane, painted appears to		// the best time to do it. What is really needed is		// notification that layout has completed.		int      newLocation = getDividerLocation(splitPane);		if (newLocation != (spDividerLocation - dOffset)) {		    int  lastLocation = splitPane.getLastDividerLocation();		    ignoreDividerLocationChange = true;		    try {			splitPane.setDividerLocation(newLocation);			// This is not always needed, but is rather tricky			// to determine when... The case this is needed for			// is if the user sets the divider location to some			// bogus value, say 0, and the actual value is 1, the			// call to setDividerLocation(1) will preserve the			// old value of 0, when we really want the divider			// location value  before the call. This is needed for			// the one touch buttons.			splitPane.setLastDividerLocation(lastLocation);		    } finally {			ignoreDividerLocationChange = false;		    }		}	    }        }        /**         * Adds the component at place.  Place must be one of         * JSplitPane.LEFT, RIGHT, TOP, BOTTOM, or null (for the         * divider).         */        public void addLayoutComponent(String place, Component component) {            boolean isValid = true;            if(place != null) {                if(place.equals(JSplitPane.DIVIDER)) {                    /* Divider. */                    components[2] = component;                    sizes[2] = getSizeForPrimaryAxis(component.						     getPreferredSize());                } else if(place.equals(JSplitPane.LEFT) ||                          place.equals(JSplitPane.TOP)) {                    components[0] = component;                    sizes[0] = 0;                } else if(place.equals(JSplitPane.RIGHT) ||                          place.equals(JSplitPane.BOTTOM)) {                    components[1] = component;                    sizes[1] = 0;                } else if(!place.equals(                                    BasicSplitPaneUI.NON_CONTINUOUS_DIVIDER))                    isValid = false;            } else {                isValid = false;            }            if(!isValid)                throw new IllegalArgumentException("cannot add to layout: " +                    "unknown constraint: " +                    place);	    doReset = true;        }        /**         * Returns the minimum size needed to contain the children.         * The width is the sum of all the childrens min widths and         * the height is the largest of the childrens minimum heights.         */        public Dimension minimumLayoutSize(Container container) {            int         minPrimary = 0;            int         minSecondary = 0;            Insets      insets = splitPane.getInsets();            for (int counter=0; counter<3; counter++) {                if(components[counter] != null) {                    Dimension   minSize = components[counter].getMinimumSize();		    int         secSize = getSizeForSecondaryAxis(minSize);                    minPrimary += getSizeForPrimaryAxis(minSize);                    if(secSize > minSecondary)                        minSecondary = secSize;                }            }            if(insets != null) {                minPrimary += getSizeForPrimaryAxis(insets, true) +		              getSizeForPrimaryAxis(insets, false);		minSecondary += getSizeForSecondaryAxis(insets, true) +		              getSizeForSecondaryAxis(insets, false);            }	    if (axis == 0) {		return new Dimension(minPrimary, minSecondary);	    }	    return new Dimension(minSecondary, minPrimary);        }        /**         * Returns the preferred size needed to contain the children.         * The width is the sum of all the childrens preferred widths and         * the height is the largest of the childrens preferred heights.         */        public Dimension preferredLayoutSize(Container container) {            int         prePrimary = 0;            int         preSecondary = 0;            Insets      insets = splitPane.getInsets();            for(int counter = 0; counter < 3; counter++) {                if(components[counter] != null) {		    Dimension   preSize = components[counter].			                  getPreferredSize();		    int         secSize = getSizeForSecondaryAxis(preSize);                    prePrimary += getSizeForPrimaryAxis(preSize);                    if(secSize > preSecondary)                        preSecondary = secSize;                }            }            if(insets != null) {                prePrimary += getSizeForPrimaryAxis(insets, true) +		              getSizeForPrimaryAxis(insets, false);		preSecondary += getSizeForSecondaryAxis(insets, true) +		              getSizeForSecondaryAxis(insets, false);            }	    if (axis == 0) {		return new Dimension(prePrimary, preSecondary);	    }	    return new Dimension(preSecondary, prePrimary);        }        /**         * Removes the specified component from our knowledge.         */        public void removeLayoutComponent(Component component) {            for(int counter = 0; counter < 3; counter++) {                if(components[counter] == component) {                    components[counter] = null;                    sizes[counter] = 0;		    doReset = true;                }            }        }        //        // LayoutManager2        //        /**         * Adds the specified component to the layout, using the specified         * constraint object.         * @param comp the component to be added         * @param constraints  where/how the component is added to the layout.         */        public void addLayoutComponent(Component comp, Object constraints) {            if ((constraints == null) || (constraints instanceof String)) {                addLayoutComponent((String)constraints, comp);            } else {                throw new IllegalArgumentException("cannot add to layout: " +                                                   "constraint must be a " +                                                   "string (or null)");            }        }        /**         * Returns the alignment along the x axis.  This specifies how         * the component would like to be aligned relative to other          * components.  The value should be a number between 0 and 1         * where 0 represents alignment along the origin, 1 is aligned         * the furthest away from the origin, 0.5 is centered, etc.         */        public float getLayoutAlignmentX(Container target) {            return 0.0f;        }        /**         * Returns the alignment along the y axis.  This specifies how         * the component would like to be aligned relative to other          * components.  The value should be a number between 0 and 1         * where 0 represents alignment along the origin, 1 is aligned         * the furthest away from the origin, 0.5 is centered, etc.         */        public float getLayoutAlignmentY(Container target) {            return 0.0f;        }        /**         * Does nothing. If the developer really wants to change the         * size of one of the views JSplitPane.resetToPreferredSizes should         * be messaged.         */        public void invalidateLayout(Container c) {        }        /**         * Returns the maximum layout size, which is Integer.MAX_VALUE         * in both directions.         */        public Dimension maximumLayoutSize(Container target) {            return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);        }	//	// New methods.	//        /**         * Marks the receiver so that the next time this instance is         * laid out it'll ask for the preferred sizes.         */        public void resetToPreferredSizes() {	    doReset = true;        }        /**         * Resets the size of the Component at the passed in location.         */        protected void resetSizeAt(int index) {            sizes[index] = 0;	    doReset = true;        }        /**         * Sets the sizes to <code>newSizes</code>.         */        protected void setSizes(int[] newSizes) {            System.arraycopy(newSizes, 0, sizes, 0, 3);        }        /**         * Returns the sizes of the components.         */        protected int[] getSizes() {            int[]         retSizes = new int[3];            System.arraycopy(sizes, 0, retSizes, 0, 3);            return retSizes;        }        /**         * Returns the width of the passed in Components preferred size.         */        protected int getPreferredSizeOfComponent(Component c) {	    return getSizeForPrimaryAxis(c.getPreferredSize());        }        /**         * Returns the width of the passed in Components minimum size.         */        int getMinimumSizeOfComponent(Component c) {	    return getSizeForPrimaryAxis(c.getMinimumSize());        }        /**         * Returns the width of the passed in component.         */        protected int getSizeOfComponent(Component c) {	    return getSizeForPrimaryAxis(c.getSize());        }        /**         * Returns the available width based on the container size and         * Insets.         */        protected int getAvailableSize(Dimension containerSize,                                       Insets insets) {            if(insets == null)                return getSizeForPrimaryAxis(containerSize);            return (getSizeForPrimaryAxis(containerSize) - 		    (getSizeForPrimaryAxis(insets, true) +		     getSizeForPrimaryAxis(insets, false)));        }        /**         * Returns the left inset, unless the Insets are null in which case         * 0 is returned.         */        protected int getInitialLocation(Insets insets) {            if(insets != null)                return getSizeForPrimaryAxis(insets, true);            return 0;        }        /**         * Sets the width of the component c to be size, placing its         * x location at location, y to the insets.top and height         * to the containersize.height less the top and bottom insets.         */        protected void setComponentToSize(Component c, int size,                                          int location, Insets insets,                                          Dimension containerSize) {            if(insets != null) {		if (axis == 0) {		    c.setBounds(location, insets.top, size,

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆视频观看网址久久| 国产在线一区观看| 欧美在线观看一区| 亚洲黄色片在线观看| 91亚洲精华国产精华精华液| 国产精品视频线看| 99久久er热在这里只有精品66| 综合久久久久综合| 欧美视频在线观看一区| 麻豆免费看一区二区三区| 日韩欧美国产三级电影视频| 国产综合色在线视频区| 欧美极品aⅴ影院| 色综合天天做天天爱| 久久影院视频免费| 成人av网站在线观看| 一区二区三区欧美| 91麻豆精品91久久久久久清纯| 久久爱www久久做| 国产精品免费丝袜| 欧美二区三区的天堂| 国产一区二区在线观看免费| 国产精品久久毛片a| 欧美视频在线一区二区三区 | 麻豆国产精品一区二区三区| 国产色婷婷亚洲99精品小说| 日本精品一级二级| 久久国产精品露脸对白| 《视频一区视频二区| 91精品国产综合久久久蜜臀图片 | 日韩欧美电影一区| 成人激情av网| 久久99精品久久久久久| 亚洲视频一区二区在线观看| 日韩欧美资源站| av电影天堂一区二区在线 | 麻豆一区二区99久久久久| 国产精品久久久久久亚洲毛片 | 欧美另类一区二区三区| 国产v日产∨综合v精品视频| 亚洲电影在线免费观看| 久久综合给合久久狠狠狠97色69| 欧美色视频在线观看| 国产999精品久久久久久绿帽| 亚瑟在线精品视频| 亚洲三级久久久| 国产亚洲欧美色| 91精品国产欧美一区二区18| av不卡一区二区三区| 国产美女精品在线| 日韩电影在线免费看| 亚洲毛片av在线| 国产欧美日韩综合精品一区二区| 欧美日韩国产系列| 一本久久精品一区二区| 精品一区二区免费| 日日噜噜夜夜狠狠视频欧美人| 亚洲日本在线天堂| 国产精品人人做人人爽人人添| 欧美mv日韩mv| 日韩美女主播在线视频一区二区三区| 欧美性猛交xxxxxx富婆| 99国产欧美久久久精品| 成人av网址在线| 国产成人午夜视频| 国产麻豆精品视频| 国产主播一区二区三区| 蜜臀av一级做a爰片久久| 天堂午夜影视日韩欧美一区二区| 亚洲精品高清在线| 亚洲欧美一区二区三区久本道91| 国产精品美女久久久久久久网站| 国产欧美日韩综合| 国产欧美综合在线观看第十页| 国产午夜精品久久久久久久 | 欧美性大战xxxxx久久久| 一本色道综合亚洲| 一本一道久久a久久精品| 99久久777色| 在线观看www91| 欧美日韩精品系列| 欧美日韩国产一二三| 欧美一区在线视频| 精品日韩av一区二区| 欧美精品一区视频| 欧美激情一区在线观看| 中文字幕亚洲不卡| 亚洲精品国产精华液| 亚洲第一福利视频在线| 日韩不卡手机在线v区| 免费av成人在线| 国产精品一二三在| 99精品久久只有精品| 91激情在线视频| 欧美日韩大陆一区二区| 日韩女优电影在线观看| 国产日产精品一区| 亚洲欧美日韩久久精品| 亚洲成人久久影院| 美日韩一级片在线观看| 丁香亚洲综合激情啪啪综合| 97精品电影院| 在线播放视频一区| 久久九九久精品国产免费直播| 国产精品久久久久久一区二区三区 | 精品污污网站免费看| 日韩视频一区在线观看| 亚洲国产精品传媒在线观看| 亚洲色大成网站www久久九九| 亚洲高清视频在线| 国产酒店精品激情| 色中色一区二区| 精品国内二区三区| 亚洲免费在线观看视频| 青青青伊人色综合久久| av亚洲精华国产精华精华| 欧美精品成人一区二区三区四区| 久久久久久久久久久99999| 亚洲欧美另类综合偷拍| 久久精品国内一区二区三区| 99精品欧美一区| 欧美不卡在线视频| 亚洲欧美一区二区三区国产精品 | 国产91综合一区在线观看| 在线一区二区三区| 久久一区二区三区四区| 亚洲电影一区二区| 国产高清视频一区| 欧美精品丝袜久久久中文字幕| 国产色产综合产在线视频| 午夜久久久久久久久| 成人高清av在线| 日韩欧美一区二区不卡| 一区二区三区日韩欧美精品| 国产伦精品一区二区三区免费| 欧美网站一区二区| 欧美国产精品久久| 久久精品国内一区二区三区| 在线精品视频免费播放| 国产精品狼人久久影院观看方式| 美女一区二区在线观看| 欧美一a一片一级一片| 日韩理论片一区二区| 国产成人免费视频网站 | 久久久久久久久免费| 天天影视涩香欲综合网| 91蜜桃视频在线| 中文字幕欧美国产| 久久精品国产一区二区三区免费看| 在线视频一区二区三| 中日韩av电影| 国产一区二区主播在线| 欧美成人乱码一区二区三区| 日日夜夜免费精品| 欧美日韩成人一区二区| 夜色激情一区二区| 91在线观看免费视频| 亚洲欧洲美洲综合色网| 国产成人免费视频| 国产三级精品视频| 国产夫妻精品视频| 久久综合资源网| 韩国成人在线视频| 精品999久久久| 国产麻豆欧美日韩一区| 久久精品人人做| 国产69精品一区二区亚洲孕妇| 久久久国际精品| 国产99久久久国产精品潘金网站| 国产午夜亚洲精品理论片色戒| 国产激情视频一区二区三区欧美| 久久久国产精品麻豆| 国产91对白在线观看九色| 国产精品水嫩水嫩| 色综合久久久久久久久久久| 亚洲免费大片在线观看| 欧洲一区二区三区免费视频| 午夜激情综合网| 日韩一级片在线播放| 日本成人在线一区| 久久久久久毛片| 成人一级黄色片| 欧美视频三区在线播放| 午夜欧美在线一二页| 欧美一级日韩免费不卡| 国产美女在线观看一区| 国产精品成人一区二区三区夜夜夜| 99精品偷自拍| 亚洲午夜日本在线观看| 欧美成人一区二区三区| 国产精一品亚洲二区在线视频| 久久久久一区二区三区四区| 成人av在线网站| 天天综合日日夜夜精品| 欧美精品一区二区在线观看| gogogo免费视频观看亚洲一| 亚洲综合一区二区| 884aa四虎影成人精品一区| 精品一区二区三区免费观看| 国产精品国产三级国产aⅴ入口|