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

📄 e960. using a list jspinner as a cell editor in a jtable component.txt

📁 这里面包含了一百多个JAVA源文件
💻 TXT
字号:
If the possible values allowed in a column must be from a small fixed set of values, a spinner might be appropriate as the cell editor for that column. By using a list spinner, 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 spinner values
    String[] values = new String[]{"item1", "item2", "item3"};
    
    // Set the spinner editor on the 1st visible column
    int vColIndex = 0;
    TableColumn col = table.getColumnModel().getColumn(vColIndex);
    col.setCellEditor(new SpinnerEditor(values));
    
    // If you want to make the cell appear like a spinner in its
    // non-editing state, also set the spinner renderer
    col.setCellRenderer(new SpinnerRenderer(values));
    
    public class SpinnerEditor extends AbstractCellEditor
            implements TableCellEditor {
        final JSpinner spinner = new JSpinner();
    
        // Initializes the spinner.
        public SpinnerEditor(String[] items) {
            spinner.setModel(new SpinnerListModel(java.util.Arrays.asList(items)));
        }
    
        // Prepares the spinner component and returns it.
        public Component getTableCellEditorComponent(JTable table, Object value,
                boolean isSelected, int row, int column) {
            spinner.setValue(value);
            return spinner;
        }
    
        // Enables the editor only for double-clicks.
        public boolean isCellEditable(EventObject evt) {
            if (evt instanceof MouseEvent) {
                return ((MouseEvent)evt).getClickCount() >= 2;
            }
            return true;
        }
    
        // Returns the spinners current value.
        public Object getCellEditorValue() {
            return spinner.getValue();
        }
    }

⌨️ 快捷键说明

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