synthcombopopup.java

来自「java1.6众多例子参考」· Java 代码 · 共 76 行

JAVA
76
字号
/* * @(#)SynthComboPopup.java	1.9 07/09/21 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.synth;import java.awt.Insets;import java.awt.Rectangle;import javax.swing.JComboBox;import javax.swing.ListSelectionModel;import javax.swing.plaf.ComboBoxUI;import javax.swing.plaf.basic.BasicComboPopup;/** * Synth's ComboPopup. * * @version 1.9, 09/21/07 * @author Scott Violet */class SynthComboPopup extends BasicComboPopup {        public SynthComboPopup( JComboBox combo ) {        super(combo);    }    /**     * Configures the list which is used to hold the combo box items in the     * popup. This method is called when the UI class     * is created.     *     * @see #createList     */    @Override    protected void configureList() {        list.setFont( comboBox.getFont() );        list.setCellRenderer( comboBox.getRenderer() );        list.setFocusable( false );        list.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );        int selectedIndex = comboBox.getSelectedIndex();        if ( selectedIndex == -1 ) {            list.clearSelection();        }        else {            list.setSelectedIndex( selectedIndex );	    list.ensureIndexIsVisible( selectedIndex );        }        installListListeners();    }        /**     * @inheritDoc     *      * Overridden to take into account any popup insets specified in     * SynthComboBoxUI     */    @Override    protected Rectangle computePopupBounds(int px,int py,int pw,int ph) {        ComboBoxUI ui = comboBox.getUI();        if (ui instanceof SynthComboBoxUI) {            SynthComboBoxUI sui = (SynthComboBoxUI)ui;            if (sui.popupInsets != null) {                Insets i = sui.popupInsets;                return super.computePopupBounds(                        px + i.left,                        py + i.top,                        pw - i.left - i.right,                        ph - i.top - i.bottom);            }        }        return super.computePopupBounds(px, py, pw, ph);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?