我有一个包含 3 列数据的文件,我想将它们传递到 JTable 中。有人可以建议我该怎么做吗?
问问题
805 次
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 回答