我有这种方法:

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的实例传递给其他类,但这会使该类易于滥用

09-26 08:53