0

こんにちは、JTable から ArrayList にデータをコピーするにはどうすればよいですか? 列名である最初の行は必要ありません。すべての行が必要です。ありがとう

4

2 に答える 2

1

オブジェクトを使用せずにテーブルにデータを保存する場合は、テーブルを行ごとにトラバースし、すべてのオブジェクトを取得してリストに保存します。

例: これは、リストを使用してデータを格納する場合です。

List<Object> list = new ArrayList<Object>;

for(int row = 0; row < table.getRowCount(); row++) {
    for(int column = 0; column = table.getColumnCount(); column++) {
      list.add(table.getValueAt(row, column));  
    }
}

最後に、リスト内のすべてのオブジェクトを取得します。

編集:

各行は type のオブジェクトであるCustomObjectため、テーブルの各値を type のオブジェクトに設定しCustomObject、すべての行の List に追加する必要があります。

class CustomObject {
   Object one;
   Object two;
}

List<CustomObject> list = new ArrayList<CustomObject>;

for(int row = 0; row < table.getRowCount(); row++) {
  CustomObject object = new CustomObject();
    for(int column = 0; column = table.getColumnCount(); column++) {
       switch(column) {
            case 0:
                  object.setOne(table.getValueAt(row, column));
                  break;
             case 1: 
                  object.setTwo(table.getValueAt(row, column));
                  break;
       }
    }
    // Store each object in the list.
    list.add(object);
}
于 2012-12-25T11:16:29.180 に答える
0

推奨される堅牢な方法は、TableModel を使用することです。JTable.getModel() を使用して取得します。TableModel を取得したら、その API を使用して、getValueAt(int rowIndex, int columnIndex) を使用して任意の場所にある値を確認し、List に格納できます。

于 2012-12-25T11:07:39.273 に答える