我使用树形图填充JTable并且正在通过SQL填充树图,我的问题是我只能在一行中通过树图填充,是否可以编写代码(即counter)说添加新行
这是代码行:
library.put("01", new Item(res.getString(2),(res.getString(3), Integer.parseInt(res.getString(4))));
答案 0 :(得分:1)
"是否有可能写一个代码(即计数器)说添加一个新行"
对我而言,您将数据保存在两个单独的数据结构中,一个位于TreeMap
,另一个位于TableModel
的基础JTable
。没有必要这样做。数据只能保存在TableModel
中。请参阅Creating a TableModel。
动态添加行的最简单方法是使用DefaultTableModel
来处理fireXxx
方法,以便更新表格。您可以使用XxxTableModel
对象编写自己的Item
,但可能没有必要。
对于DefaultTableModel
,如果没有初始数据,可以将模型设置为0行(只列列名)。
String[] cols = { "Col 1", "Col 2", "Col 3" };
DefaultTableModel model = new DefaultTableModel(cols, 0);
JTable table = new JTable(model);
如果你做有一些初始数据,你可以使用构造函数
DefaultTableModel(Object[][] data, Object[] cols)
然后动态添加行,只需使用model.addRow(Object[])
。像
Object[] row = { res.getString(2),
res.getString(3),
Integer.parseInt(res.getString(4))
};
model.addRow(row);
通过致电addRow
,我们会自动为您更新表格。
您使用TreeMap
的事实可能表示您希望对数据进行排序。在这种情况下,您可能需要查看Sorting and Filtering Tables