DefaultTableModel更新BUG,如何解决?

问题描述 投票:0回答:0

希望你能帮帮我!!!我有一个 JComboBox,当我单击“搜索”按钮时,会出现一个 JTable。当我更改 JComboBox 的选择并再次单击“搜索”时,表格会更改其模型并向我显示新数据,但如果我单击那里,旧模型会再次出现。数据来自数据库的查询。

我尝试使用 dtm.setRowCount(0) 但没有用。我只有一个 JTable,并且我对每个查询都使用相同的 dtm (DefaultTableModel)。


// before I created the JComboBox as JComboBox jcb = new JComboBox();
//and I filled jcb with the item
public void showTable() {

        DefaultTableModel dtm = new DefaultTableModel();
        
        JTable t = new JTable();
        
        
        dtm.setColumnIdentifiers(columnnames); 
//columnnames is a String array
        
        JScrollPane pane = new JScrollPane(t);
        pane.setBounds(25, 120, 850, 150);
        
        String s = jcb.getSelectedItem().toString();

        try { 
            
            //just the usually PreparedStatement with a select

            ResultSet Rs = pstm.executeQuery();
            
            
            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) });
            }

            conn.close();
            
            
                
                    
               
            
            
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        
        
        t.setModel(dtm);
            add(pane); 
        
    }
java swing jtable jcombobox defaulttablemodel
© www.soinside.com 2019 - 2024. All rights reserved.