1

我有一个奇怪的情况:当我通过 Putty + Xming 在远程计算机上启动一些 java 应用程序时 - 如果JFramesetUndecorated(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被装饰,则问题不存在。

4

1 回答 1

2

这是Xming软件的错误。下载了 MobaXterm - 现在一切正常,即使使用未修饰的 JFrame。还尝试了 Putty + X11 MobaXterm 服务器 - 效果很好。这证明这里的Xming是问题所在。

于 2014-03-15T16:57:50.853 回答