1

我有一个包含 3 列数据的文件,我想将它们传递到 JTable 中。有人可以建议我该怎么做吗?

4

2 回答 2

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);
于 2013-01-16T13:41:06.013 回答
0

在 Swing 中,您需要处理 Model 对象以管理多个 UI 组件,例如 JTree、JTable 和 JList。

您可以使用开箱即用提供给您的 Default 实现,或者扩展它或实现 Model 接口。

对于 JTables,默认模型类称为 DefaultTableModel,接口称为 TableModel。

现在回到您的问题,您必须读取文件,然后获取模型实例,以便您可以将数据传递给它,以便它显示在表格上。不要忘记将您的新表格模型与表格相关联。

这是一个指南,可以帮助您更多。

于 2013-01-16T14:59:39.780 回答