单击JFrame标题时单击弹出窗口

时间:2012-01-31 14:22:07

标签: java swing events

我有JFrame和JTextField。

我创建了一个基于JWindow的弹出窗口,当textField具有无效值时显示。

我想在移动主JFrame或点击JFrame标题时隐藏弹出窗口。

1 个答案:

答案 0 :(得分:1)

当窗口失去焦点时,向WindowFocusListenerJWindow添加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);
         }
      }
  });