2012-04-08 11 views
1

JTableを実装する方法をチュートリアルで説明しましたが、各セルのデータにアクセスしてユーザーがこれらのデータをどのように抽出するのか正確にはわかりません。JTableで各セルのデータにアクセスする方法

表Iは使用しているINT

チュートリアルがある第二にストリングがある最初の列にカラム及びN

を有しますthis

+0

あなたは 'パブリックオブジェクトgetValueAt(int型の列、int型COL)'メソッドを使用してみましたか? – assylias

+0

何を試しましたか?何が動作しないかを説明し、StackTraceがあればそれを投稿してください。また、コードの一部を表示します(すべてではなく、面白​​い部分です)。 –

答えて

3

すべてJTableデータを有していますそれに接続されたモデル。ユーザはこのデータモデルにデータを追加することができ(例えば、javax.swing.table.TableModel.setValueAt(Object, int, int)メソッドを呼び出すことによって)、JTableが表示されます。次のアプローチを使用することができますJTable 1からのデータを処理するために:

 

JTable t = new JTable(/* set some table-model that will contain the data */); 
... 
/* get some table-model that will contain the data */ 
TableModel tm = t.getModel(); 
for (int i = 0; i < tm.getRowCount(); i++) { 
    for (int j = 0; j < tm.getColumnCount(); j++) { 
    Object o = tm.getValueAt(i, j); 
    if (o instanceof Integer) { 
     System.out.println((Integer)o); 
    } else if (o instanceof String) { 
     System.out.println((String)o); 
    } 
    } 
} 
 
2

Listening for Data Changes

一般に、テーブルに関連付けられたモデルを取得し、それを「getValueAt」メソッドと呼ぶ必要があります。これは、セルに関連付けられたObjectを返すので、StringまたはIntegerにキャストする必要があります。たとえば 2番目の列および第三列の値を取得したい場合、コードは:

(整数)model.getValueAt(2,1)

関連する問題