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

📄 disabledcomboboxexample.java

📁 tame,扩展了好多SWing组件:JTable
💻 JAVA
字号:
/* (swing1.1) */package tame.examples;import java.awt.Component;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.ListCellRenderer;import javax.swing.UIManager;import javax.swing.border.EmptyBorder;import tame.attribute.CanEnable;/**@author Nobuo Tamemasa@version 1.0 12/26/98*/public class DisabledComboBoxExample extends JFrame {  public DisabledComboBoxExample() {    super("Disabled Item ComboBox Example");    Object[] items = {      new ComboItem("A")      ,new ComboItem("B"),      new ComboItem("1",false),new ComboItem("2",false),      new ComboItem("abc")    ,new ComboItem("def")    };    JComboBox combo = new JComboBox(items);    combo.setRenderer(new ComboRenderer());    combo.addActionListener(new ComboListener(combo));    getContentPane().setLayout(new FlowLayout());    getContentPane().add(combo);    setSize(300, 100);    setVisible(true);  }  public static void main (String args[]) {    DisabledComboBoxExample frame = new DisabledComboBoxExample();    frame.addWindowListener(new WindowAdapter() {      public void windowClosing(WindowEvent e) {	System.exit(0);      }    });  }  class ComboRenderer extends JLabel implements ListCellRenderer {    public ComboRenderer() {      setOpaque(true);      setBorder(new EmptyBorder(1, 1, 1, 1));    }    public Component getListCellRendererComponent( JList list,           Object value, int index, boolean isSelected, boolean cellHasFocus) {      if (isSelected) {        setBackground(list.getSelectionBackground());        setForeground(list.getSelectionForeground());      } else {        setBackground(list.getBackground());        setForeground(list.getForeground());      }      if (! ((CanEnable)value).isEnabled()) {        setBackground(list.getBackground());        setForeground(UIManager.getColor("Label.disabledForeground"));      }      setFont(list.getFont());      setText((value == null) ? "" : value.toString());      return this;    }  }  class ComboListener implements ActionListener {    JComboBox combo;    Object currentItem;    ComboListener(JComboBox combo) {      this.combo  = combo;      combo.setSelectedIndex(0);      currentItem = combo.getSelectedItem();    }    public void actionPerformed(ActionEvent e) {      Object tempItem = combo.getSelectedItem();      if (! ((CanEnable)tempItem).isEnabled()) {        combo.setSelectedItem(currentItem);      } else {        currentItem = tempItem;      }    }  }  class ComboItem implements CanEnable {    Object  obj;    boolean isEnable;    ComboItem(Object obj,boolean isEnable) {      this.obj      = obj;      this.isEnable = isEnable;    }    ComboItem(Object obj) {      this(obj, true);    }    public boolean isEnabled() {      return isEnable;    }    public void setEnabled(boolean isEnable) {      this.isEnable = isEnable;    }    public String toString() {      return obj.toString();    }  }}

⌨️ 快捷键说明

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