2009-08-18 43 views
0

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

当用户改变的值,我想排被添加到另一个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

我会做到这一点的方法是从你的TableModel覆盖

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

。 SetValue方法由JTable中被调用用户editted AV后alue

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