3列のデータを含むファイルがあり、それらをJTableに渡したいと思います。誰かが私がこれを行う方法を提案できますか?
2 に答える
Java のデータはテーブルではなく、テーブルのモデルに格納されます。たとえば、簡単に操作できるようにDefaultTableModelを使用します。JTable は、モデル内のデータの変更を自動的に「認識」します。
DefaultListModel myModel = new DefaultListModel();
myModel.setColumnIdentifiers([column names]);
この場合、列が独自の方法で区切られている場合、データを読み取る最も簡単な方法は java Scannerを使用することです。
Scanner s = new Scanner(new FileInputStream(new File(filePath)));
s.useDelimiter(delim);
while (s.next()) {
System.out.println(s.nextInt());
// or put data directly into the table:
myModel.addRow([data from s]);
}
delim は、ファイルを列に分割する記号です。最後に、作成したモデルを既存の JTable に割り当てる必要もあります。
myTable.setModel(myModel);
Swing では、JTree、JTable、JList などのいくつかの UI コンポーネントを管理するために、モデル オブジェクトを処理する必要があります。
すぐに提供される Default 実装を使用するか、それを拡張するか、Model インターフェイスを実装することができます。
JTable の場合、デフォルトの Model クラスは DefaultTableModel と呼ばれ、インターフェースは TableModel と呼ばれます。
問題に戻ると、ファイルを読み取ってから、モデル インスタンスを取得して、テーブルに表示するためにデータを渡すことができるようにする必要があります。新しいテーブル モデルをテーブルに関連付けることを忘れないでください。
さらに役立つガイドを次に示します。