重新使用DefaultTableModel

时间:2015-08-25 15:53:44

标签: java swing jtable 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)});

如何在我的程序中多次使用此代码,而不是每次发生事件时都创建新对象。

2 个答案:

答案 0 :(得分:2)

好像你已经全局声明arraylist string = new arraylist [size that you want]; arraylist.add ( what u want to add in here); 并且每次触发某个动作事件时都会初始化。

JTable一样,您可以全局声明JTable并初始化DefaultTableModelJTable

如果您不想在TableModel中维护旧记录,则可以在每次触发某些操作事件时清除JTable

答案 1 :(得分:0)

最后我得到了解决问题的方法。每次在运行SQL Query之前按下按钮,我只需要调用2个方法。这两种方法是

panel.removeAll();

<强> panel.validate();

这会从屏幕上删除上一个面板上的所有内容,并仅显示您希望查看的结果。