如何在调用dispose()后重置swing中的字段

时间:2011-03-23 00:12:40

标签: java swing jframe

我有一个JFrame,我创建了一个对象来打开它并在我的项目周围关闭它。这意味着我只为该JFrame使用一个对象。

当我调用dispose()方法关闭该帧时,我希望在下一次setVisible(true)调用时将其重置为新的JFrame。但即使我在关闭它时调用setVisible(true),我仍然可以看到上一个dispose()调用中的字段填充了值。

如何刷新该框架中存储的值,以便在我拨打setVisible(true)时获得新表单?

2 个答案:

答案 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("");
         ...
    }
});

这未经过测试,但应该足够接近让您入门。