我使用以下代码填充了我的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());
答案 0 :(得分:0)
我这样做的方法是覆盖
public void setValueAt(Object aValue, int rowIndex, int columnIndex);
来自TableModel的。 在用户编辑了值
之后,JTable会调用setValue方法在您的overriden方法中,您可以在另一个tablemodel中设置值