1
我期望一旦选择了组合框,JTable将会改变。为什么不重新验证()和repaint()像我期望的那样工作?
这里是我的部分代码:
……
chooseAccoutingItemComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
changeTable();
jScrollpane.revalidate();
jScrollpane. repaint();
}
private void changeTable() {
JTable accountTable2 = new JTable(accountBook.getRowData(startYear, startMonth, endYear, endMonth, (AccountingItem) chooseAccoutingItemComboBox.getSelectedItem()), accountBook.getColumnNames());
accountTable = accountTable2;
}
});
accountTable = new JTable(accountBook.getRowData(startYear, startMonth, endYear, endMonth, accountintItem), accountBook.getColumnNames());
jScrollpane = new JScrollPane(accountTable);
add(jScrollpane, BorderLayout.CENTER);
……
,现在当我在组合框中选择项目时,JTable并没有改变。为什么?