0

我有一个 6 列的 JTable。对于第 0 列和第 1 列,我创建了一个组合框作为编辑器。当用户从第 0 列的组合框中选择一个项目时,我希望编辑同一行中的所有单元格。

有谁知道这是最好的方法还是有其他更好的方法?

JTable table = new JTable();// a table with 6 columns
TableColumn column0 = tabel.getColumnModel().getColumn(0);
comboBox = new JComboBox(summary.getGenerics());
column0.setCellEditor(new DefaultCellEditor(comboBox));
column0.setCellRenderer(new DefaultTableCellRenderer());
comboBox.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
              String selectedItem = comboBox.getSelectedItem().toString();
               table.setValueAt("class" , table.getSelectedRow() , 1);

            }
        });
4

1 回答 1

2

示例覆盖getValueAt()以根据具有JComboBox编辑器的列中的选择来调整从属列返回的值。任何依赖列都应该是不可编辑的,并且TableModelListener应该通知任何依赖列,如此处所示

于 2012-12-12T22:18:46.603 回答