从另一个 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 可能被误用
我有这个方法:
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 可能被误用