0

我已经用以下代码填充了我的 jTable。它有两列,第一列有变量名,第二列是它的依赖项列表。用户可以通过从 jTable 的列表中选择它们来更改依赖关系。

当用户更改一个值时,我想将行添加到另一个 jTable (这将是用户不可编辑的。我该怎么做?

填充表格的代码是

      Vector<Vector> data = new Vector<Vector>();
      for (String v : acn.getVariableNames()) {
        Vector tmp = new Vector();
        tmp.add(v);
        ArrayList<String> temp = new ArrayList<String>();
        for (String u : acn.getVariableDomain(v)) {
            temp.add(u);
        }
        tmp.add(temp);
        data.add(tmp);
    }
    Vector names = new Vector();
    names.add("Variable");
    names.add("Domain Value");
    DefaultTableModel dt = new DefaultTableModel();
    dt.setDataVector(data, names);

    jTable2.setModel(dt);
    jTable2.getColumnModel().getColumn(1).setCellEditor(new ChangeImpactEditor());
    jTable2.getColumnModel().getColumn(1).setCellRenderer(new TableListRenderer());
4

1 回答 1

0

我会这样做的方式是覆盖

public void setValueAt(Object aValue, int rowIndex, int columnIndex);

来自您的 TableModel。用户编辑值后 JTable 调用 setValue 方法

然后在您覆盖的方法中,您可以在另一个表模型中设置值

于 2009-08-18T05:24:56.283 回答