0

我是 java 新手,我想获取存储在 Map 中的数据并将其添加到表中。当我阅读有关“如何使用表”的 Java 教程时,我发现自己迷失了以下示例代码:

String[] columnNames = { "blah", "blah" };

Object[][] data = {
{"Kathy", "Smith",
 "Snowboarding", new Integer(5), new Boolean(false)},
{"John", "Doe",
 "Rowing", new Integer(3), new Boolean(true)},
{"Sue", "Black",
 "Knitting", new Integer(2), new Boolean(false)},
{"Jane", "White",
 "Speed reading", new Integer(20), new Boolean(true)},
{"Joe", "Brown",
 "Pool", new Integer(10), new Boolean(false)}
};

然后我应该像这样实例化一个 JTable 对象:

JTable table = new JTable(data, columnNames);

我很困惑如何将地图中的数据填充到对象数组中,就像他们在上面的示例中所做的那样?我的地图中的行中的数据将是一个字符串和一个浮点数。

理想情况下,我将有两列(只是一个示例),{“文件”,“大小”},然后我的行将放置文件名的字符串和大小的浮点数。

我尝试了各种我觉得太愚蠢而不能放在这里的东西,但没有任何效果。

4

2 回答 2

3

我建议改用基于列表的自定义 TableModel。

看看这里的教程:http: //docs.oracle.com/javase/tutorial/uiswing/components/table.html#data

这是我前段时间编写的基于列表的只读 TableModel 示例:

http://puces-samples.svn.sourceforge.net/viewvc/puces-samples/tags/sessionstate-1.0/sessionstate-suite/sessionstate-sample/src/blogspot/puce/sessionstate/sample/ParticipantTableModel.java?revision= 13&view=标记

如果您不是在 NetBeans 平台之上构建应用程序(尽管我建议使用 RCP),您也可以使用 ResourceBundle 来代替 NbBundle。

于 2013-05-13T14:48:36.897 回答
3
  Object[][] fileList = new Object[fileListVector.size()][2];

for (int i = 0; i < fileListVector.size(); i++) {
    fileList [i][0] = fileListVector.get(i).getFileName();
    fileList [i][1] = fileListVector.get(i).getFileSize();
}

您可以像这样将数据从向量填充到数组中。

于 2013-05-13T14:52:13.393 回答