我有一个jwindow(设置为始终位于顶部),您可以单击以获取弹出菜单。如果用户右键单击该窗口,它将显示弹出菜单,但是如果用户单击任何其他窗口(例如firefox),则弹出菜单不会消失。
我试图通过在jwindow上添加FocusListener来修复它,我实现了FocusListener并覆盖
public void focusGained(FocusEvent e) {
System.out.println("gain" );
}
public void focusLost(FocusEvent e) {
System.out.println("lost" );
}
但是那里的事件永远不会被召唤。我也尝试了以下
addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
System.out.println("gain 2" );
}
});
此事件也未调用。
所有这些jwindows都只有一个JLabel,上面有一张图片。
最佳答案
从内存JWindow不会接收焦点/窗口事件。