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 に答える