从另一个 class 刷新 JTable

JTable refreshing from another class

我有这个方法:

public void refreshTable() {
    Object[][] datax = DB.getData(emailAddress);
    DefaultTableModel model = new DefaultTableModel(datax, columnNames);
    table.setModel(model);
}

我在另一个中称它为 class:

private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {                                      
EmailManager em = new EmailManager(emailAddress);
    em.refreshTable();
    dispose();
}

table没有刷新。两个 classes 包含不同的 GUI。 我看过其他帖子说不可能做到这一点,但是一位教授告诉我有办法。
有任何想法吗?

您正在刷新的 EmailManager 实例与屏幕上显示的实例不同,因此它们没有关系。

从外观上看,您可能应该使用某种模式对话框,当对话框关闭时(它 returns 给调用者),您应该刷新 EmailManager 实际上在屏幕上。

有关详细信息,请参阅 How to Make Dialogs

或者,您需要将 EmailManager 的实例传递给您的另一个 class,但这会使 class 可能被误用