我有一个 Java 表单应用程序,我想在运行时更改 jTable 的 tableModel(单击按钮时) 我正在使用以下代码:
JButton btnNewButton = new JButton("Execute");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
TableModel newModel = dbHandler.executeQueryToTable(myQuery.getText());
table.setModel(newModel);
((AbstractTableModel) newModel).fireTableDataChanged();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
问题是表格没有改变。我检查了模型是否正常,但我认为表格需要以某种方式更新。 非常感谢!
最佳答案
尝试使用以下代码暂时更改您的代码。如果单击按钮时表更新,则问题可能出在您的 dbHandler.executeQueryToTable(myQuery.getText())
JButton btnNewButton = new JButton("Execute");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TableModel newModel = new DefaultTableModel(
new Object [][] {{"a", "b"}, {"e", null}},
new String [] {"Title 1", "Title 2"});
this.jTable1.setModel(newModel);
((AbstractTableModel) newModel).fireTableDataChanged();
}
});
上面的代码在我的测试中运行良好。
关于java - 在运行时更改 jTable 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31893699/