2

チュートリアルを使用して JTable の実装方法を確認しましたが、各セルのデータに正確にアクセスして、ユーザーが入力したデータを抽出する方法がわかりません。

テーブルには2列とN行があります

最初の列には文字列があり、2 番目の列にはintがあります

私が使用したチュートリアルはこれです

4

2 に答える 2

4

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


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);
    }
  }
}

于 2012-04-08T10:32:07.280 に答える
3

データ変更のリッスン」という段落を確認する必要があります。

一般に、テーブルに関連付けられたモデルを取得し、それを「getValueAt」メソッドと呼ぶ必要があります。セルに関連付けられたオブジェクトを返すため、文字列または整数にキャストする必要があります。たとえば、2 列目と 3 行目の値を取得する場合、コードは次のようになります。

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

于 2012-04-08T10:08:34.383 に答える