我有一个奇怪的情况:当我通过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)
-当JFrame
被装饰时,这个问题不存在
这是Xming软件错误。下载MobaXterm -现在一切都很好,即使没有修饰的JFrames。也尝试了Putty + X11 MobaXterm服务器-工作良好。