HIde всплывающее окно при нажатии на заголовок JFrame - PullRequest
0 голосов
/ 31 января 2012

У меня есть JFrame и JTextField.

Я создаю всплывающее окно на основе JWindow, оно показывает, когда textField имеет недопустимое значение.

Я хочу скрыть свое всплывающее окно, когда основной JFrameперемещен или когда я нажимаю на заголовок JFrame.

1 Ответ

1 голос
/ 31 января 2012

Добавьте WindowFocusListener к JWindow и setVisible(false), когда окно теряет фокус. Примерно так:

  popup.addWindowFocusListener(new WindowAdapter() {

    public void windowLostFocus(WindowEvent e) {
         if (popup.isVisible()){
             popup.setVisible(false);
         }
      }
  });

Или, если это не то, что вам нужно, вы можете добавить ComponentListener к вашему JFrame:

  frame.addComponentListener(new ComponentAdapter(){

     public void componentMoved(ComponentEvent e) {
         if (popup.isVisible()){
             popup.setVisible(false);
         }
      }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...