通过树图和SQL填充JTable

时间:2014-03-24 11:45:29

标签: java sql swing jtable treemap

我使用树形图填充JTable并且正在通过SQL填充树图,我的问题是我只能在一行中通过树图填充,是否可以编写代码(即counter)说添加新行

这是代码行:

library.put("01", new Item(res.getString(2),(res.getString(3), Integer.parseInt(res.getString(4))));

1 个答案:

答案 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