重新使用 DefaultTableModel
Re Use of DefaultTableModel
DefaultTableModel dtm = new DefaultTableModel(new Object[]{"SR#", "Date", "Name", "Description", "Quantity", "Weight", "Rate", "Total", "Balance","Paid","Net Pay"},0);
table = new JTable();
table.setModel(dtm);
JScrollPane scroller=new JScrollPane(table);
table.setBackground(new java.awt.Color(255,226,226));
scroller.setBounds(0,0,1335,380);
p2.add(scroller);
while(rs.next()){
dtm.addRow(new Object[]{rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getString(10),rs.getString(11)});
如何在我的程序中多次重复使用这段代码,而不是每次发生事件时都创建一个新对象。
似乎您已经全局声明了 JTable
并在每次触发某个动作事件时都进行了初始化。
与 JTable
一样,您可以全局声明 DefaultTableModel
并初始化 JTable
和 TableModel
。
如果不想保留JTable
中的旧记录,可以在每次触发某个动作事件时清除JTable
。
终于找到了问题的解决方案。每当我在 运行 SQL 查询之前按下按钮时,我只需要调用 2 个方法。这两种方法是
panel.removeAll(); 和
panel.validate();
这会从屏幕上清除您之前面板上的所有内容,并仅显示您希望看到的结果。
DefaultTableModel dtm = new DefaultTableModel(new Object[]{"SR#", "Date", "Name", "Description", "Quantity", "Weight", "Rate", "Total", "Balance","Paid","Net Pay"},0);
table = new JTable();
table.setModel(dtm);
JScrollPane scroller=new JScrollPane(table);
table.setBackground(new java.awt.Color(255,226,226));
scroller.setBounds(0,0,1335,380);
p2.add(scroller);
while(rs.next()){
dtm.addRow(new Object[]{rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getString(10),rs.getString(11)});
如何在我的程序中多次重复使用这段代码,而不是每次发生事件时都创建一个新对象。
似乎您已经全局声明了 JTable
并在每次触发某个动作事件时都进行了初始化。
与 JTable
一样,您可以全局声明 DefaultTableModel
并初始化 JTable
和 TableModel
。
如果不想保留JTable
中的旧记录,可以在每次触发某个动作事件时清除JTable
。
终于找到了问题的解决方案。每当我在 运行 SQL 查询之前按下按钮时,我只需要调用 2 个方法。这两种方法是
panel.removeAll(); 和
panel.validate();
这会从屏幕上清除您之前面板上的所有内容,并仅显示您希望看到的结果。