java - 从另一个类刷新 JTable

标签 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。 我读过其他帖子,据说这是不可能做到的,但一位教授告诉我,有办法。
有任何想法吗?

最佳答案

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

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

参见How to Make Dialogs了解更多详情

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

关于java - 从另一个类刷新 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887382/

相关文章:

java - Swing 应用程序安装

c# - 使用委托(delegate)和事件从另一个表单更新表单

java - 空值的 Spring 格式化程序

java - 如何在不损害 java + PDFBox 中的 DRY 原则的情况下格式化代码?

java - Spock 使用表将列表设置为参数

Java - JList 中的 JTextArea 不显示所需的文本

java - 使用java根据xml标签将xml拆分为多个xml

java - 我正在制作游戏,我需要关闭 JOptionPane

java - 如何通过避免重复来缩短 Tic Tac Toe 代码

java preparedstatementexecuteUpdate 返回错误的受影响行