0

ここに画像の説明を入力

ご覧のとおり、passwordFieldはナビゲーターのjButton1の前に配置されていますが、 usernameFieldがフォーカスされているときに TAB キーを押すと、フォーカスされている 2 番目の要素はjButton1であり、 passwordFieldではありません。

ここに画像の説明を入力

フォーカスの順序を実際に制御するものは何ですか?

4

3 に答える 3

2

検索する必要がある語句は「タブ オーダー」です。これに対する回答がここにあります。簡単に言うと、FocusTraversalPolicyサブクラスを実装し、 setFocusTraversalPolicy を呼び出してコンテナーで使用する必要があります。

于 2013-02-27T19:28:52.087 に答える
1

デフォルトのフォーカス転送は、コンポーネントの順序よりも視覚的なレイアウトに基づいています。この場合、左から右、上から下に移動する必要があります。これは予想される動作です – MadProgrammer は編集中です

フォーカス サブシステムの使用方法、特にフォーカス トラバーサルのカスタマイズを参照してください。

更新しました

Enter キーを押して JTextFieldを切り替える方法を見てみましょう。これは、カスタム フォーカス ポリシーの使用方法を示しています。

于 2013-02-27T19:32:59.757 に答える
-1

コンポーネントに設定するタブ インデックスまたはタブ オーダーを検索してみてください

于 2013-02-27T19:35:51.800 に答える