2016-03-03 120 views
0

我的Jtable在ScrollPane里面,而在ScrollPane里面是在Panel里面。所以,每当我删除使用JTable在删除行后不会刷新

model.removeRow(row_number); 

它删除行的行(通过调用model.getRowCount验证()),但认为保持不变。

public void createTable(){ 
    model = new DefaultTableModel(rowData, columnNames); 
    table = new JTable(model); 

    table = new JTable(rowData, columnNames); 
    table.setEnabled(false); 
    table.setShowVerticalLines(false); 
    scrollPane_2 = new JScrollPane(table); 
    scrollPane_2.setBounds(10, 16, 554, 89); 
    scrollPane_2.setBorder(BorderFactory.createEmptyBorder()); 
    panel_6.add(scrollPane_2); 

} 

我试图重新验证(),重绘()在所有这三个(面板,桌子和滚动面板),也

model.fireTableDataChanged(); 

,但仍然认为这么想的变化...

回答

5

当您重新分配变量table时,您将根据您的model丢弃JTable

table = new JTable(model); 

table = new JTable(rowData, columnNames); 

当您从model删除行,该JTable您显示没有听说过这件事,因为它有自己的模式。

+0

就是这样,我完全错过了那条线...... – Jerry