2009-08-18 14 views
0

私のjTableに次のコードを設定しました。これには2つの列があり、最初の列は変数名を持ち、2番目の列はその依存関係のリストです。ユーザーは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); 

をオーバーライドすることである。ユーザーは、AVをedittedた後 setValueメソッドはJTableが呼び出されますalue

オーバーライドされたメソッドでは、他のテーブルモデルの値を設定できます