I have a JFrame and I have created an object to open it and close it all around my project. This means I am using only one object for that JFrame.
When I call dispose() method t开发者_StackOverflowo close that frame I expect it to be reset to a new JFrame on next setVisible(true) call. But i can still see the fields filled with value from the previous setVisible(true) call even after i called dispose() on closing it.
How do I flush the stored values from that frame so that I get a new form when i call setVisible(true)?
Try adding a WindowListener:
frame.addWindowListener(new WindowAdapter() {
    public void windowClosed(WindowEvent e) {
         MyJFrame frame = (MyJFrame) e.getSource();
         frame.someTextField.setText("");
         ...
    }
});
This isn't tested but should be close enough to get you started.
dispose() doesn't reset your components but you can create new JFrame manually:
previous.setVisible(false);
previous = new JFrame();
previous.setVisible(true);
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论