2010-12-14 5 views
0

シンクライアントではLTSPを使用しています。 Java-Swing-Applicationを実行するために、これを使用しています。ユーザーは何もできないはずなので、Gnome-Sessionではなく、シェルスクリプトを使ってアプリケーションを起動します。アプリケーションのフォーカスをUbuntu/LTSPのJavaプログラムに設定

ほぼすべてが機能しますが、1つのこと:シンクライアントが起動すると、アプリケーションも起動しますが、フォーカスは受信されません。アプリケーション内でマウスで一度クリックする必要があります。これは、アプリケーションがマウスなしで使用できるように設計されているためです。

私のメインフレームのtoFront()は役に立ちませんでした。

もっと良い提案がありますか?

答えて

1

メソッドjava.awt.Window#setAlwaysOnTop(boolean)を使用してフォーカスを取得し、最初のユーザー操作後にalwayOnTopプロパティをリセットすることができます。

0

あなたはそれが目に見えるようになるとすぐにあなたのJFrameの上requestFocusを呼び出すために試みることができる:

JFrame frame = new JFrame(); 

frame.addComponentListener(new ComponentAdapter() { 
     public void componentShown(ComponentEvent e) { 
      ((JFrame) e.getSource()).requestFocus(); 
     } 
    }); 

frame.setVisible(true);