我有JFrame和JTextField。
我创建了一个基于JWindow的弹出窗口,当textField具有无效值时显示。
我想在移动主JFrame或点击JFrame标题时隐藏弹出窗口。
答案 0 :(得分:1)
当窗口失去焦点时,向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);
}
}
});