我有一个JFrame,我创建了一个对象来打开它并在我的项目周围关闭它。这意味着我只为该JFrame使用一个对象。
当我调用dispose()
方法关闭该帧时,我希望在下一次setVisible(true)
调用时将其重置为新的JFrame。但即使我在关闭它时调用setVisible(true)
,我仍然可以看到上一个dispose()
调用中的字段填充了值。
如何刷新该框架中存储的值,以便在我拨打setVisible(true)
时获得新表单?
答案 0 :(得分:1)
dispose()不会重置您的组件,但您可以手动创建新的JFrame:
previous.setVisible(false);
previous = new JFrame();
previous.setVisible(true);
答案 1 :(得分:1)
尝试添加WindowListener:
frame.addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
MyJFrame frame = (MyJFrame) e.getSource();
frame.someTextField.setText("");
...
}
});
这未经过测试,但应该足够接近让您入门。