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

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

?? basicoptionpaneui.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
		    int           extraWidth = cInsets.left + cInsets.right;		    if (syncAllWidths) {			int              maxWidth = 0;			for(int counter = 0; counter < numChildren; counter++){			    aSize = children[counter].getPreferredSize();			    height = Math.max(height, aSize.height);			    maxWidth = Math.max(maxWidth, aSize.width);			}			return new Dimension(extraWidth + (maxWidth * numChildren) + 					     (numChildren - 1) * padding,					     extraHeight + height);		    }		    else {			int        totalWidth = 0;			for(int counter = 0; counter < numChildren; counter++){			    aSize = children[counter].getPreferredSize();			    height = Math.max(height, aSize.height);			    totalWidth += aSize.width;			}			totalWidth += ((numChildren - 1) * padding);			return new Dimension(extraWidth + totalWidth, extraHeight + height);		    }		}	    }	    return new Dimension(0, 0);	}	public Dimension preferredLayoutSize(Container c) {	    return minimumLayoutSize(c);	}	public void removeLayoutComponent(Component c) { }    }    /**     * This inner class is marked &quot;public&quot; due to a compiler bug.     * This class should be treated as a &quot;protected&quot; inner class.     * Instantiate it only within subclasses of BasicOptionPaneUI.     */      public class PropertyChangeHandler implements PropertyChangeListener {        /**         * If the source of the PropertyChangeEvent <code>e</code> equals the         * optionPane and is one of the ICON_PROPERTY, MESSAGE_PROPERTY,         * OPTIONS_PROPERTY or INITIAL_VALUE_PROPERTY,         * validateComponent is invoked.         */        public void propertyChange(PropertyChangeEvent e) {            getHandler().propertyChange(e);	}    }    /**     * Configures any necessary colors/fonts for the specified label     * used representing the message.     */    private void configureMessageLabel(JLabel label) {        Color color = (Color)DefaultLookup.get(optionPane, this,                                               "OptionPane.messageForeground");        if (color != null) {            label.setForeground(color);        }        Font messageFont = (Font)DefaultLookup.get(optionPane, this,                                                   "OptionPane.messageFont");        if (messageFont != null) {            label.setFont(messageFont);        }    }    /**     * Configures any necessary colors/fonts for the specified button     * used representing the button portion of the optionpane.     */    private void configureButton(JButton button) {        Font buttonFont = (Font)DefaultLookup.get(optionPane, this,                                            "OptionPane.buttonFont");        if (buttonFont != null) {            button.setFont(buttonFont);        }    }    /**     * This inner class is marked &quot;public&quot; due to a compiler bug.     * This class should be treated as a &quot;protected&quot; inner class.     * Instantiate it only within subclasses of BasicOptionPaneUI.     */      public class ButtonActionListener implements ActionListener {        protected int buttonIndex;        public ButtonActionListener(int buttonIndex) {            this.buttonIndex = buttonIndex;        }        public void actionPerformed(ActionEvent e) {	    if (optionPane != null) {   	        int optionType = optionPane.getOptionType();	        Object[] options = optionPane.getOptions();                /* If the option pane takes input, then store the input value                 * if custom options were specified, if the option type is                 * DEFAULT_OPTION, OR if option type is set to a predefined                 * one and the user chose the affirmative answer.                 */ 		if (inputComponent != null) {                    if (options != null ||                        optionType == JOptionPane.DEFAULT_OPTION ||      		        ((optionType == JOptionPane.YES_NO_OPTION || 		         optionType == JOptionPane.YES_NO_CANCEL_OPTION || 		         optionType == JOptionPane.OK_CANCEL_OPTION) && 		         buttonIndex == 0)) { 		        resetInputValue();                    }                }	        if (options == null) {		    if (optionType == JOptionPane.OK_CANCEL_OPTION &&                        buttonIndex == 1) {		        optionPane.setValue(new Integer(2));                    		    } else {		        optionPane.setValue(new Integer(buttonIndex));                    }	        } else {		    optionPane.setValue(options[buttonIndex]);                }	    }        }    }    private class Handler implements ActionListener, MouseListener,                                     PropertyChangeListener {        //        // ActionListener        //	public void actionPerformed(ActionEvent e) {	    optionPane.setInputValue(((JTextField)e.getSource()).getText());	}        //        // MouseListener        //        public void mouseClicked(MouseEvent e) {        }        public void mouseReleased(MouseEvent e) {        }        public void mouseEntered(MouseEvent e) {        }        public void mouseExited(MouseEvent e) {        }	public void mousePressed(MouseEvent e) {	    if (e.getClickCount() == 2) {		JList     list = (JList)e.getSource();		int       index = list.locationToIndex(e.getPoint());		optionPane.setInputValue(list.getModel().getElementAt(index));	    }	}        //        // PropertyChangeListener        //        public void propertyChange(PropertyChangeEvent e) {	    if(e.getSource() == optionPane) {		// Option Pane Auditory Cue Activation		// only respond to "ancestor" changes		// the idea being that a JOptionPane gets a JDialog when it is 		// set to appear and loses it's JDialog when it is dismissed.		if ("ancestor" == e.getPropertyName()) {		    JOptionPane op = (JOptionPane)e.getSource();		    boolean isComingUp;		    		    // if the old value is null, then the JOptionPane is being		    // created since it didn't previously have an ancestor.		    if (e.getOldValue() == null) {			isComingUp = true;		    } else {			isComingUp = false;		    }		    		    // figure out what to do based on the message type		    switch (op.getMessageType()) {		    case JOptionPane.PLAIN_MESSAGE:			if (isComingUp) {                            BasicLookAndFeel.playSound(optionPane,                                               "OptionPane.informationSound");			}			break;		    case JOptionPane.QUESTION_MESSAGE:			if (isComingUp) {                            BasicLookAndFeel.playSound(optionPane,                                             "OptionPane.questionSound");			}			break;		    case JOptionPane.INFORMATION_MESSAGE:			if (isComingUp) {                            BasicLookAndFeel.playSound(optionPane,                                             "OptionPane.informationSound");			}			break;		    case JOptionPane.WARNING_MESSAGE:			if (isComingUp) {                            BasicLookAndFeel.playSound(optionPane,                                             "OptionPane.warningSound");			}			break;		    case JOptionPane.ERROR_MESSAGE:			if (isComingUp) {                            BasicLookAndFeel.playSound(optionPane,			                     "OptionPane.errorSound");			}			break;		    default:			System.err.println("Undefined JOptionPane type: " +					   op.getMessageType());			break;		    }		}		// Visual activity	        String         changeName = e.getPropertyName();	        if(changeName == JOptionPane.OPTIONS_PROPERTY ||    	           changeName == JOptionPane.INITIAL_VALUE_PROPERTY ||	           changeName == JOptionPane.ICON_PROPERTY ||	           changeName == JOptionPane.MESSAGE_TYPE_PROPERTY ||	           changeName == JOptionPane.OPTION_TYPE_PROPERTY ||	           changeName == JOptionPane.MESSAGE_PROPERTY ||	           changeName == JOptionPane.SELECTION_VALUES_PROPERTY ||	           changeName == JOptionPane.INITIAL_SELECTION_VALUE_PROPERTY ||	           changeName == JOptionPane.WANTS_INPUT_PROPERTY) {                   uninstallComponents();                   installComponents();                   optionPane.validate();                }		else if (changeName == "componentOrientation") {		    ComponentOrientation o = (ComponentOrientation)e.getNewValue();		    JOptionPane op = (JOptionPane)e.getSource();		    if (o != (ComponentOrientation)e.getOldValue()) {			op.applyComponentOrientation(o);		    }		}            }        }    }    //    // Classes used when optionPane.getWantsInput returns true.    //    /**     * A JTextField that allows you to specify an array of KeyStrokes that     * that will have their bindings processed regardless of whether or     * not they are registered on the JTextField. This is used as we really     * want the ActionListener to be notified so that we can push the     * change to the JOptionPane, but we also want additional bindings     * (those of the JRootPane) to be processed as well.     */    private static class MultiplexingTextField extends JTextField {        private KeyStroke[] strokes;        MultiplexingTextField(int cols) {            super(cols);        }        /**         * Sets the KeyStrokes that will be additional processed for         * ancestor bindings.         */        void setKeyStrokes(KeyStroke[] strokes) {            this.strokes = strokes;        }        protected boolean processKeyBinding(KeyStroke ks, KeyEvent e,                                            int condition, boolean pressed) {            boolean processed = super.processKeyBinding(ks, e, condition,                                                        pressed);            if (processed && condition != JComponent.WHEN_IN_FOCUSED_WINDOW) {                for (int counter = strokes.length - 1; counter >= 0;                         counter--) {                    if (strokes[counter].equals(ks)) {                        // Returning false will allow further processing                        // of the bindings, eg our parent Containers will get a                        // crack at them.                        return false;                    }                }            }            return processed;        }    }    /**     * Registered in the ActionMap. Sets the value of the option pane     * to <code>JOptionPane.CLOSED_OPTION</code>.     */    private static class Actions extends UIAction {        private static final String CLOSE = "close";        Actions(String key) {            super(key);        }	public void actionPerformed(ActionEvent e) {            if (getName() == CLOSE) {                JOptionPane optionPane = (JOptionPane)e.getSource();                optionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));            }	}    }    /**     * This class is used to create the default buttons. This indirection is     * used so that addButtonComponents can tell which Buttons were created     * by us vs subclassers or from the JOptionPane itself.     */    private static class ButtonFactory {        private String text;        private int mnemonic;        private Icon icon;        ButtonFactory(String text, int mnemonic, Icon icon) {            this.text = text;            this.mnemonic = mnemonic;            this.icon = icon;        }        JButton createButton() {            JButton button = new JButton(text);            if (icon != null) {                button.setIcon(icon);            }            if (mnemonic != 0) {                button.setMnemonic(mnemonic);            }            return button;        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人91porn| 亚洲区小说区图片区qvod| 成人黄色电影在线| 午夜视频一区在线观看| 久久精品一区二区| 666欧美在线视频| 懂色av一区二区三区免费看| 视频在线观看国产精品| 中文字幕日韩一区二区| 久久先锋资源网| 91精品国产色综合久久不卡电影 | wwwwxxxxx欧美| 欧美精品在线一区二区| 91麻豆国产福利在线观看| 国产福利一区在线观看| 日本女优在线视频一区二区 | 亚洲国产综合91精品麻豆| 国产精品丝袜一区| 亚洲精品在线电影| 欧美一二区视频| 欧美日韩国产综合一区二区三区| 99精品国产99久久久久久白柏| 国产精品一区二区在线播放 | 97精品久久久久中文字幕| 国产黄色91视频| 激情综合一区二区三区| 蜜臀精品一区二区三区在线观看| 午夜在线成人av| 一区二区日韩av| 一区二区三区中文字幕| 亚洲免费在线视频一区 二区| 中文字幕精品三区| 中文字幕av一区二区三区高| 久久精品免费在线观看| 久久久久久久久久电影| 久久午夜国产精品| 久久久91精品国产一区二区三区| 精品国产91久久久久久久妲己| 欧美一级xxx| 日韩精品一区二区三区四区视频| 日韩欧美色综合| 精品国产1区2区3区| 久久综合久久综合久久综合| 欧美电视剧免费观看| 精品久久一区二区三区| 久久看人人爽人人| 久久嫩草精品久久久久| 国产亚洲一区二区三区在线观看| 亚洲精品在线三区| 国产精品午夜免费| 亚洲精品va在线观看| 亚洲第一主播视频| 久久国产精品色| 国产精品正在播放| 99re免费视频精品全部| 91福利视频网站| 7777精品伊人久久久大香线蕉最新版| 欧美高清视频在线高清观看mv色露露十八| 欧美嫩在线观看| 久久一区二区三区国产精品| 久久久久88色偷偷免费| 中文字幕一区免费在线观看| 亚洲蜜臀av乱码久久精品| 亚洲成人激情综合网| 卡一卡二国产精品| 国产+成+人+亚洲欧洲自线| 91在线看国产| 51午夜精品国产| 久久蜜臀精品av| 亚洲综合色丁香婷婷六月图片| 午夜亚洲福利老司机| 成人美女视频在线看| 在线日韩国产精品| 精品噜噜噜噜久久久久久久久试看 | 国产盗摄一区二区| 色婷婷av一区二区三区软件| 日韩欧美在线不卡| 中文字幕一区免费在线观看| 日韩中文字幕亚洲一区二区va在线| 国内不卡的二区三区中文字幕| kk眼镜猥琐国模调教系列一区二区| 欧美美女一区二区在线观看| 久久综合九色综合久久久精品综合| 成人免费一区二区三区在线观看| 亚洲18色成人| 粉嫩av一区二区三区粉嫩| 精品视频一区三区九区| 欧美精彩视频一区二区三区| 亚洲午夜在线电影| 丰满亚洲少妇av| 欧美一区二区三区免费| 一区在线观看视频| 看电视剧不卡顿的网站| 色94色欧美sute亚洲线路一久| 欧美精品一区二区三区高清aⅴ| 亚洲男女一区二区三区| 国产一区二区看久久| 欧美日韩综合在线| 国产精品久久久久aaaa樱花| 日本在线不卡一区| 91麻豆国产在线观看| 国产人妖乱国产精品人妖| 婷婷久久综合九色综合伊人色| 99久久精品免费精品国产| 精品日韩在线一区| 亚洲va在线va天堂| 色吊一区二区三区| 亚洲国产精华液网站w| 狠狠色狠狠色综合| 欧美一区二区三区性视频| 亚洲黄色小视频| 99久久精品国产观看| 久久久蜜臀国产一区二区| 日韩高清国产一区在线| 欧美日韩一级黄| 亚洲综合免费观看高清完整版在线 | 婷婷丁香久久五月婷婷| 日本道在线观看一区二区| 中文字幕乱码久久午夜不卡| 国产一区二区91| 日韩一卡二卡三卡四卡| 日韩电影网1区2区| 欧美日韩国产小视频| 一区二区三区四区乱视频| 99久久er热在这里只有精品15| 久久久99精品久久| 国产成人aaa| 国产视频在线观看一区二区三区| 99精品1区2区| 亚洲激情中文1区| 色女孩综合影院| 一级女性全黄久久生活片免费| 色综合视频一区二区三区高清| 中文字幕日韩欧美一区二区三区| 成人午夜大片免费观看| 国产精品毛片大码女人| 99精品国产视频| 依依成人综合视频| 欧美午夜不卡视频| 日韩激情中文字幕| 欧美成人一区二区三区片免费| 开心九九激情九九欧美日韩精美视频电影 | 亚洲综合在线观看视频| 91电影在线观看| 亚洲3atv精品一区二区三区| 欧美精品乱码久久久久久| 日韩激情视频网站| 精品成a人在线观看| 国产91精品一区二区麻豆网站| 中文字幕免费在线观看视频一区| 国产精品一区在线| 91麻豆精品国产91久久久资源速度| 亚洲欧洲一区二区三区| 色婷婷综合久久久久中文一区二区 | 99这里只有精品| 亚洲老妇xxxxxx| 欧美日本韩国一区| 国产在线精品免费av| 国产精品色在线观看| 色哟哟一区二区在线观看| 午夜久久电影网| 2019国产精品| 91免费国产在线观看| 五月天激情综合网| 日韩西西人体444www| 欧美三级中文字| 狠狠色综合日日| 国产精品美女久久久久久2018 | 亚洲男人天堂一区| 亚洲国产日产av| 天天射综合影视| 粉嫩一区二区三区在线看| 国产精品1区2区| 国产成人鲁色资源国产91色综| 色吊一区二区三区 | 精品精品国产高清a毛片牛牛| 日韩欧美视频一区| 欧美放荡的少妇| 欧美变态口味重另类| 亚洲愉拍自拍另类高清精品| 国内精品久久久久影院薰衣草| 色老汉一区二区三区| 精品国产91乱码一区二区三区 | 欧美大片在线观看一区| 色综合欧美在线视频区| 色综合色狠狠天天综合色| 欧美精品高清视频| 欧美精彩视频一区二区三区| 国产精品成人在线观看| 蜜桃精品视频在线| 国产91在线观看| 欧美一区三区四区| 国产精品超碰97尤物18| 亚洲一区二区欧美| 九九视频精品免费| 欧美三级午夜理伦三级中视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日韩一区二区视频| 樱桃国产成人精品视频| 欧美猛男gaygay网站|