0

私の目的は、マトリックスのようなインターフェイスを提供することです。マトリックスの各セルには2つの値があり、ユーザーは2つから最適なものを選択します。

だから私はjTableとコンボボックスに行くことを考えました.問題は私のマトリックスで列の各セルの値が異なることです. しかし、コンボボックスをテーブルの列全体に追加する次のコードと、コンボボックスの値を変更すると、テーブル全体が変更されます。それぞれが異なる値を持つようにコンボボックスをテーブルに挿入する方法

javax.swing.JComboBox k = new javax.swing.JComboBox();
        k.addItem("1");
        k.addItem("2");
        k.addItem("3");
        k.setEnabled(true);
        k.setVisible(true);
this.jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(k));

私も DefaultTableModel で試しました

コードは

  DefaultTableModel t =new javax.swing.table.DefaultTableModel();
    t.setColumnCount(10);
    t.setRowCount(10);
    t.setValueAt(k, 0, 0);
 jTable1.setModel(t);

しかし、私はGUIで出力を取得します

javax.swing.JComboBox[,0,0,0x0,invalid,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=1]

setValueAt メソッドで "k" を JComboBox および JComponent として型キャストしようとしましたが、うまくいきませんでした

誰か助けてください

4

1 に答える 1

1

getCellEditor(....) メソッドをオーバーライドします。例: JTable (Java) の列に一意の JComboBoxes を追加する方法

于 2010-11-18T20:43:00.520 に答える