我把我的Jtable放在ScrollPane中,而ScrollPane又放在Panel里面.所以每当我删除一行时使用
model.removeRow(row_number);
Run Code Online (Sandbox Code Playgroud)
它确实删除了行(通过调用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);
}
Run Code Online (Sandbox Code Playgroud)
我在所有三个(面板,表格和滚动窗格)上都尝试了revalidate(),repaint()
model.fireTableDataChanged();
Run Code Online (Sandbox Code Playgroud)
但是观点仍然没有改变......