Как сбросить поле в свинге после вызова dispose () - PullRequest
1 голос
/ 23 марта 2011

У меня есть JFrame, и я создал объект, чтобы открыть его и закрыть все вокруг моего проекта.Это означает, что я использую только один объект для этого JFrame.

Когда я вызываю dispose() метод для закрытия этого кадра, я ожидаю, что он будет сброшен до нового JFrame при следующем вызове setVisible(true).Но я все еще могу видеть поля, заполненные значением из предыдущего вызова setVisible(true), даже после того, как я вызвал dispose() при его закрытии.

Как очистить сохраненные значения из этого кадра, чтобы получить новыйформа, когда я звоню setVisible(true)?

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Попробуйте добавить WindowListener :

frame.addWindowListener(new WindowAdapter() {
    public void windowClosed(WindowEvent e) {
         MyJFrame frame = (MyJFrame) e.getSource();
         frame.someTextField.setText("");
         ...
    }
});

Это не проверено, но должно быть достаточно близко, чтобы начать работу.

1 голос
/ 23 марта 2011

dispose () не сбрасывает ваши компоненты, но вы можете создать новый JFrame вручную:

previous.setVisible(false);
previous = new JFrame();
previous.setVisible(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...