我有这个方法:
public void refreshTable() {
Object[][] datax = DB.getData(emailAddress);
DefaultTableModel model = new DefaultTableModel(datax, columnNames);
table.setModel(model);
}
我在另一个类中调用它:
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {
EmailManager em = new EmailManager(emailAddress);
em.refreshTable();
dispose();
}
表格未刷新。这两个类都包含不同的 GUI。
我读过其他帖子,据说这是不可能做到的,但一位教授告诉我,有办法。
有任何想法吗?
最佳答案
您刷新的 EmailManager
实例与屏幕上显示的实例不同,因此它们没有关系。
从表面上看,您可能应该使用某种模式对话框,当对话框关闭(并且它返回到调用者)时,您应该刷新实际在屏幕上的 EmailManager
实例。
参见How to Make Dialogs了解更多详情
或者,您需要将 EmailManager
的实例传递给其他类,但这会使该类可能被误用
关于java - 从另一个类刷新 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887382/