Xming: почему JFrame потерял фокус, когда он установлен Undecorated (true)?

У меня странная ситуация: когда я запускаю какое-то java-приложение на удаленном компьютере через Putty + Xming - и если 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 украшено.


person Ernestas Gruodis    schedule 15.03.2014    source источник


Ответы (1)


Это ошибка программного обеспечения Xming. Скачал MobaXterm - теперь все нормально работает даже с неукрашенными JFrames. Также попробовал сервер Putty + X11 MobaXterm - работает хорошо. Это доказывает, что Xming здесь является проблемой.

person Ernestas Gruodis    schedule 15.03.2014