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
            }

});

開始時 - undecoratedJFrameはフォーカスを受け取りますが、どこかをクリックすると - フォーカスが失われ、反対側のウィンドウがnull. その後、再びフォーカスを取得することはありません。setUndecorated(false)-JFrameが装飾されている場合は問題ありません。

4

1 に答える 1

2

Xming ソフトウェアのバグです。ダウンロードされた MobaXterm - 装飾されていない JFrames でも​​すべてが正常に動作するようになりました。Putty + X11 MobaXterm サーバーも試してみました - うまくいきました。これは、ここで Xming が問題であることを証明しています。

于 2014-03-15T16:57:50.853 に答える