1

フォーカスを処理するためにデフォルトの Swing メソッドを使用する Swing アプリケーションに取り組んでいます。期待どおりにフォーカスが機能しません。

あるケースでは、.requestFocusInWindow() と呼ぶ JTextField があります。ウィンドウが表示されると、代わりに JLabel にフォーカスがあります。

JLabel の Java 6 ドキュメントには、「その結果、キーボード フォーカスを取得できません」と記載されています。 http://docs.oracle.com/javase/6/docs/api/javax/swing/JLabel.html

ただし、JLabel がフォーカスを受け取り、KeyboardFocusManager.getFocusOwner() がそのコンポーネントを返すことを示すサンプル アプリケーションがあります。(http://github.com/akinsgre/swingStarter)

クラスのコードはhttps://raw.github.com/akinsgre/swingStarter/master/src/main/java/test/HelloWorldSwing.javaです

私が欠けているものを理解または説明するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

ラベルをテキスト フィールドに関連付ける必要があると思います。したがって、 setLabelFor メソッドを使用してみて、それが役立つかどうかを確認してください。

于 2012-06-07T11:15:56.703 に答える