Качели - Как закрыть форму изнутри?Как закрыть форму, не затрагивая родительскую форму? - PullRequest
0 голосов
/ 16 мая 2011

Я создаю форму в наборе инструментов Swing.
Когда я хочу закрыть ее, я перехожу к JFrame и устанавливаю для нее значение false.
Поскольку фрейм создает класс Java формы, я могулегко сделать это снаружи.

Когда у меня есть кнопка отмены, я обычно отправляю слушателя внутри формы, который вызывает внешний:

 Jframe.setVisible (false)

Есть ли лучший способ?

Ответы [ 2 ]

5 голосов
/ 16 мая 2011

Класс SwingUtilities предоставляет метод для получения предка окна данного компонента.Вы можете получить родительское окно и вызвать setVisible или dispose или, возможно, только событие.

Window window = SwingUtilities.getWindowAncestor(this);
window.setVisible( false );
    // OR
window.dispose();
    // OR
WindowListener[] windowListeners = window.getWindowListeners();
windowListeners[0].windowClosing( null );
0 голосов
/ 30 июня 2016

попробуйте это, если вам не нужно много кода! Нажмите здесь, чтобы посмотреть изображение

...