⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 explicativejcombobox.java

📁 编辑视频文件
💻 JAVA
字号:
/* * File:     ExplicativeJComboBox.java * Project:  MPI Linguistic Application * Date:     02 May 2007 * * Copyright (C) 2001-2007  Max Planck Institute for Psycholinguistics * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package mpi.util.gui;import mpi.util.DescriptedObject;import java.awt.Component;import java.util.Vector;import javax.swing.DefaultListCellRenderer;import javax.swing.JComboBox;import javax.swing.JList;import javax.swing.ToolTipManager;/** * ExplicativeJComboBox class is a JComboBox with added functionality of offering a tooltip with * every menu item. */public class ExplicativeJComboBox extends JComboBox {    /**     * Creates a new ExplicativeJComboBox instance     *     * @param items DOCUMENT ME!     */    public ExplicativeJComboBox(Vector items) {        super(items);        initBox();    }    /**     * Creates a new ExplicativeJComboBox instance     *     * @param obj DOCUMENT ME!     */    public ExplicativeJComboBox(Object[] obj) {        super(obj);        initBox();    }    /**     * Creates a new ExplicativeJComboBox instance     */    public ExplicativeJComboBox() {        initBox();    }    /**         *         */    private void initBox() {        ToolTipManager.sharedInstance().registerComponent(this);        setRenderer(new MyListCellRenderer());        //setEditor(new ExplicativeJComboBoxEditor(this));    }    /**     * DOCUMENT ME! $Id: ExplicativeJComboBox.java,v 1.3 2006/05/04 11:58:46 klasal Exp $     *     * @author $Author: klasal $     * @version $Revision: 1.3 $     */    public class MyListCellRenderer extends DefaultListCellRenderer {        /**         * Creates a new MyListCellRenderer instance         */        MyListCellRenderer() {            setOpaque(true);        }        /**         * DOCUMENT ME!         *         * @param list DOCUMENT ME!         * @param value DOCUMENT ME!         * @param index DOCUMENT ME!         * @param isSelected DOCUMENT ME!         * @param celHasFocus DOCUMENT ME!         *         * @return DOCUMENT ME!         */        public Component getListCellRendererComponent(JList list, Object value,            int index, boolean isSelected, boolean celHasFocus) {            super.getListCellRendererComponent(list, value, index, isSelected,                celHasFocus);            if (isSelected) {                if (value instanceof DescriptedObject) {                    DescriptedObject descrobj = (DescriptedObject) value;                    list.setToolTipText(descrobj.getDescription());                    ExplicativeJComboBox.this.setToolTipText(descrobj.getDescription());                } else {                    list.setToolTipText(null);                    ExplicativeJComboBox.this.setToolTipText(null);                }            }            setText(value.toString());            return this;        }    }}

⌨️ 快捷键说明

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