我有一个奇怪的情况:当我通过 Putty + Xming 在远程计算机上启动一些 java 应用程序时 - 如果JFrame
是setUndecorated(true)
- 如果它丢失了它就无法再次获得焦点:
jFrame.setUndecorated(true);
jFrame.addWindowFocusListener(new WindowFocusListener(){
@Override
public void windowGainedFocus(WindowEvent e) {
System.out.println("Window gained focus");
}
@Override
public void windowLostFocus(WindowEvent e) {
System.out.println("Window lost focus " + e.getOppositeWindow());//e.getOppositeWindow is null
}
});
开始时 - 未装饰JFrame
的接收焦点,但如果在某处单击它 - 焦点丢失并且对面的窗口是null
. 然后它再也不会获得焦点。setUndecorated(false)
如果- whenJFrame
被装饰,则问题不存在。