我使用树形图填充JTable并且正在通过SQL填充树形图,我的问题是我只能在一行中通过树形图填充,是吗?可以写一个代码(即计数器)说,添加一个新行通过树形图和SQL填充JTable
这是代码行:
library.put("01", new Item(res.getString(2),(res.getString(3), Integer.parseInt(res.getString(4))));
我使用树形图填充JTable并且正在通过SQL填充树形图,我的问题是我只能在一行中通过树形图填充,是吗?可以写一个代码(即计数器)说,添加一个新行通过树形图和SQL填充JTable
这是代码行:
library.put("01", new Item(res.getString(2),(res.getString(3), Integer.parseInt(res.getString(4))));
“是有可能写出说添加一个新的代码(即计数器) line“
听起来对我来说,您将数据保存在两个单独的数据结构中,一个在您的TreeMap
中,另一个在JTable
的基础TableModel
中。这是没有必要的。数据只能保存在TableModel
中。请参阅Creating a TableModel。
要动态添加行最简单的方法是使用DefaultTableModel
,该工具负责fireXxx
方法,以便您更新表格。您可以使用Item
对象编写自己的XxxTableModel
对象,但可能没有必要。
对于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
是否有可能写一个代码(即计数器)说添加一个新行==是的,不要使用HashWhat作为底层数组为Swing JComponents /它的模型,使用util.List而不是(在必须存储在分离数组中或两次) – mKorbel
欢呼我会试一试 – user3396322
您是否使用TableModel? –