JTable从另一个类刷新

时间:2015-03-05 20:46:31

标签: java swing user-interface jtable

我有这个方法:

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。 我已经阅读了其他帖子,据说这是不可能的,但教授告诉我有一种方法 有任何想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

或者,您需要将EmailManager的实例传递给您的其他类,但这会使该类暴露于可能的误用