Java 单击JFrame标题时隐藏弹出窗口
我有JFrame和JTextField 我在JWindow的基础上创建了一个弹出窗口,它显示textField的无效值Java 单击JFrame标题时隐藏弹出窗口,java,swing,events,Java,Swing,Events,我有JFrame和JTextField 我在JWindow的基础上创建了一个弹出窗口,它显示textField的无效值 我想在移动主JFrame或单击JFrame标题时隐藏弹出窗口。在JWindow中添加WindowFocusListener,并在窗口失去焦点时添加setVisible(false)。大概是这样的: popup.addWindowFocusListener(new WindowAdapter() { public void windowLostFocus(Windo
我想在移动主JFrame或单击JFrame标题时隐藏弹出窗口。在
JWindow
中添加WindowFocusListener
,并在窗口失去焦点时添加setVisible(false)
。大概是这样的:
popup.addWindowFocusListener(new WindowAdapter() {
public void windowLostFocus(WindowEvent e) {
if (popup.isVisible()){
popup.setVisible(false);
}
}
});
或者,如果这不是您想要的,您可以在JFrame
中添加ComponentListener
:
frame.addComponentListener(new ComponentAdapter(){
public void componentMoved(ComponentEvent e) {
if (popup.isVisible()){
popup.setVisible(false);
}
}
});
JWindow不接收焦点。componendMoved仅在移动完成时出现,当我们移动窗口并按[ESC]键时不起作用,然后考虑一个
未修饰的JDialog
。我不想失去文本字段的焦点)