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

📄 e959. using a jcombobox in a cell in a jtable component.txt

📁 这里面包含了一百多个JAVA源文件
💻 TXT
字号:
If the possible values allowed in a column must be one from a small fixed set of values, a combobox might be appropriate as the cell editor for that column. By using a combobox, it is impossible for the user to input an invalid value. 
    JTable table = new JTable();
    DefaultTableModel model = (DefaultTableModel)table.getModel();
    
    // Add some columns
    model.addColumn("A", new Object[]{"item1"});
    model.addColumn("B", new Object[]{"item2"});
    
    // These are the combobox values
    String[] values = new String[]{"item1", "item2", "item3"};
    
    // Set the combobox editor on the 1st visible column
    int vColIndex = 0;
    TableColumn col = table.getColumnModel().getColumn(vColIndex);
    col.setCellEditor(new MyComboBoxEditor(values));
    
    // If the cell should appear like a combobox in its
    // non-editing state, also set the combobox renderer
    col.setCellRenderer(new MyComboBoxRenderer(values));
    
    public class MyComboBoxRenderer extends JComboBox implements TableCellRenderer {
        public MyComboBoxRenderer(String[] items) {
            super(items);
        }
    
        public Component getTableCellRendererComponent(JTable table, Object value,
                boolean isSelected, boolean hasFocus, int row, int column) {
            if (isSelected) {
                setForeground(table.getSelectionForeground());
                super.setBackground(table.getSelectionBackground());
            } else {
                setForeground(table.getForeground());
                setBackground(table.getBackground());
            }
    
            // Select the current value
            setSelectedItem(value);
            return this;
        }
    }
    
    public class MyComboBoxEditor extends DefaultCellEditor {
        public MyComboBoxEditor(String[] items) {
            super(new JComboBox(items));
        }
    }

⌨️ 快捷键说明

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