Swing/_Focus の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/_Focus へ行く。
- Swing/_Focus の差分を削除
--- title: Focus tags: [Focus, KeyboardFocusManager, FocusTraversalPolicy, FocusListener, InputVerifier] description: Focus関係の記事へのスクリーンショット付きリンク一覧 --- このページでは、`Focus`関係のサンプルを集めて一覧にしています。 #contents * Focus [#Focus] ** JTableのフォーカスを一行全体に適用する [#LineFocusTable] #swingdescription(Swing/LineFocusTable,JTableのフォーカスを一行全体に適用する,JTableのフォーカスをセルではなく、一行全体に掛かっているように表示します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTPOarzqiI/AAAAAAAAAdo/uwFLFlU_EpI/s200/LineFocusTable.png) ** JTextFieldにフォーカスがある場合の背景色を設定 [#FocusColor] #swingdescription(Swing/FocusColor,JTextFieldにフォーカスがある場合の背景色を設定,どのJTextFieldを編集しているのかを分かりやすくするために、フォーカスのあるJTextFieldの背景色を変更します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTM__NmYpI/AAAAAAAAAaE/EUMDKR-Rwa4/s200/FocusColor.png) ** JTextFieldにフォーカスと文字列が無い場合の表示 [#GhostText] #swingdescription(Swing/GhostText,JTextFieldにフォーカスと文字列が無い場合の表示,JTextFieldにフォーカスが無く文字列が空の場合、薄い色でその説明を表示します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTNY3BG1nI/AAAAAAAAAas/YJB5L9kNK-c/s200/GhostText.png) ** JTextFieldに透かし画像を表示する [#WatermarkInTextField] #swingdescription(Swing/WatermarkInTextField,JTextFieldに透かし画像を表示する,JTextFieldの文字列が空でフォーカスがない場合、透かし画像を表示するように設定します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTWh1Qjh4I/AAAAAAAAApY/bLarzjLy7-8/s200/WatermarkInTextField.png) ** JTableの次行にTabキーでフォーカスを移動 [#SelectNextRow] #swingdescription(Swing/SelectNextRow,JTableの次行にTabキーでフォーカスを移動,Tabキーでセルのフォーカスが次行に移動するように設定します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTS5aM0UvI/AAAAAAAAAjg/g-wlrmrzml8/s200/SelectNextRow.png) ** Windowを開いたときのフォーカスを指定 [#DefaultFocus] #swingdescription(Swing/DefaultFocus,Windowを開いたときのフォーカスを指定,JFrameやJDialogなどのWindowを開いたときに、デフォルトでフォーカスを持つコンポーネントを指定します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTKp09XXEI/AAAAAAAAAWU/p3YhSijyS90/s200/DefaultFocus.png) ** JOptionPaneのデフォルトフォーカス [#OptionPaneDefaultFocus] #swingdescription(Swing/OptionPaneDefaultFocus,JOptionPaneのデフォルトフォーカス,JOptionPaneにデフォルトでフォーカスをもつコンポーネントを追加します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTQoUaDrDI/AAAAAAAAAf4/nUnrCrmb5io/s200/OptionPaneDefaultFocus.png) ** Focusの移動 [#FocusTraversal] #swingdescription(Swing/FocusTraversal,Focusの移動,FocusTraversalPolicyを使って、Tabキーなどによるフォーカスの移動を制御します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTNE9BAwqI/AAAAAAAAAaM/57d2rzX7ixk/s200/FocusTraversal.png) ** FocusTraversalKeysに矢印キーを追加してフォーカス移動 [#FocusTraversalKeys] #swingdescription(Swing/FocusTraversalKeys,FocusTraversalKeysに矢印キーを追加してフォーカス移動,デフォルトのTABキーに加えて、矢印キーでもフォーカス移動できるように設定します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTNHR5gShI/AAAAAAAAAaQ/KUE3fbR0bXo/s200/FocusTraversalKeys.png) ** JTableを別コンポーネントから操作 [#SelectAllButton] #swingdescription(Swing/SelectAllButton,JTableを別コンポーネントから操作,JTableの全選択や選択された行のコピーをJButtonなどの別コンポーネントから行います。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTSx9pjE3I/AAAAAAAAAjU/kU0UU-PWKSI/s200/SelectAllButton.png) * ↑10 ↓11 [#c3a1cf0a] #adsensebar ** GlobalFocusをクリアする [#ClearGlobalFocusOwner] #swingdescription(Swing/ClearGlobalFocusOwner,GlobalFocusをクリアする,GlobalFocusをクリアして、フォーカスをもつコンポーネントがない状態に戻します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTJA-Nc1vI/AAAAAAAAATs/mH0hhS2R1n8/s200/ClearGlobalFocusOwner.png) ** JPanelをフォーカストラバーサルサイクルのルートにする [#FocusCycleRoot] #swingdescription(Swing/FocusCycleRoot,JPanelをフォーカストラバーサルサイクルのルートにする,JPanelがフォーカストラバーサルサイクルのルートになるように設定します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTNCX36INI/AAAAAAAAAaI/xunzBpsDJLk/s200/FocusCycleRoot.png) ** JLabelに設定したニーモニックでフォーカス移動 [#LabelForDisplayedMnemonic] #swingdescription(Swing/LabelForDisplayedMnemonic,JLabelに設定したニーモニックでフォーカス移動,JLabelにニーモニックを設定し、これに関連付けしたJTextFieldへのフォーカス移動を行います。,https://lh4.googleusercontent.com/-c8oDt2QGtY0/UDHQKTuRMGI/AAAAAAAABRQ/dzH-cDi9lEw/s200/LabelForDisplayedMnemonic.png) ** JTextFieldを編集不可のJTextPaneに追加する [#TextFieldOnReadOnlyTextPane] #swingdescription(Swing/TextFieldOnReadOnlyTextPane,JTextFieldを編集不可のJTextPaneに追加する,JTextFieldを空欄として編集不可にしたJTextPaneに追加します。,https://lh4.googleusercontent.com/-N1aQ1F9Zrn8/UReetdvfWQI/AAAAAAAABdc/9J_2lkAgW0Y/s200/TextFieldOnReadOnlyTextPane.png) ** InputVerifierを設定したJTextFieldの値が不正な場合のフォーカス移動 [#VerifyInputWhenFocusTarget] #swingdescription(Swing/VerifyInputWhenFocusTarget,InputVerifierを設定したJTextFieldの値が不正な場合のフォーカス移動,InputVerifierを設定したJTextFieldの値が適切な形式でない場合のフォーカス移動動作をテストします。,https://lh4.googleusercontent.com/-0s6ChUywZz8/Ux0P0IVi99I/AAAAAAAACBY/8hZOhY0SCI4/s200/VerifyInputWhenFocusTarget.png) ** JTreeのノードがフォーカス状態になった場合のBorderを変更する [#DrawsTreeFocus] #swingdescription(Swing/DrawsTreeFocus,JTreeのノードがフォーカス状態になった場合のBorderを変更する,JTreeのノードが選択されてフォーカス状態になった場合のBorderによる描画をUIManagerで変更します。,https://lh3.googleusercontent.com/-I62wWvQhdQI/U53BUsVLj9I/AAAAAAAACHk/SSHVLXv9m28/s200/DrawsTreeFocus.png) ** JTextAreaでのCaretによる選択状態表示を維持する [#CaretSelectionHighlight] #swingdescription(Swing/CaretSelectionHighlight,JTextAreaでのCaretによる選択状態表示を維持する,JTextAreaなどのJTextComponentに、フォーカスがない場合でも文字列の選択状態をハイライト表示するCaretを設定します。,https://lh5.googleusercontent.com/-weYSCZJkVwc/VQWpURBqaVI/AAAAAAAAN0U/1vFVeG8fLy4/s200/CaretSelectionHighlight.png) ** JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する [#SurrendersFocusOnKeystroke] #swingdescription(Swing/SurrendersFocusOnKeystroke,JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する,JTableのセルを編集開始したときに、セルエディタがフォーカスを取得するかどうかを設定で切り替えます。,https://lh3.googleusercontent.com/-Kzqx4xhc2CM/VX2WWWF2AYI/AAAAAAAAN6o/MQEBYdlaDP4/s200/SurrendersFocusOnKeystroke.png) ** ButtonGroup内で最初にフォーカスを取得するJRadioButtonを変更する [#ButtonGroupFocusTraversalPolicy] #swingdescription(Swing/ButtonGroupFocusTraversalPolicy,ButtonGroup内で最初にフォーカスを取得するJRadioButtonを変更する,Tabキーによるフォーカス移動が発生した場合、ButtonGroup内で現在選択されているJRadioButtonにフォーカスが移動するよう設定します。,https://lh3.googleusercontent.com/-r6C4rorBCYw/Vpuu38No8lI/AAAAAAAAOLc/6xa7VoLpsWI/s200-Ic42/ButtonGroupFocusTraversalPolicy.png) ** InputVerifierを設定したコンポーネントのフォーカスナビゲーションをテストする [#InputVerifierFocusOrder] #swingdescription(Swing/InputVerifierFocusOrder,InputVerifierを設定したコンポーネントのフォーカスナビゲーションをテストする,InputVerifierを設定したコンポーネントの入力の検証とフォーカス移動イベントの順番をテストします。,https://drive.google.com/thumbnail?id=19ojUQl6rF4StwHNdQO_xPRlqnkOognwULw) * ↑20 ↓21 [#ac725e95] #adsensebar ** JFileChooserを開いたときの初期フォーカスを設定する [#FileChooserInitialFocus] #swingdescription(Swing/FileChooserInitialFocus,JFileChooserを開いたときの初期フォーカスを設定する,NimbusLookAndFeelを使用しているJFileChooserを開いた場合、ファイル名表示用のJTextFieldに初期フォーカスを設定します。,https://drive.google.com/thumbnail?id=1uW5FnfU0V3Yi9iBBMFV7uoN8M9IA2sskmg) ** FocusTraversalPolicyの自動的なフォーカスダウンサイクルを無効にする [#ImplicitDownCycleTraversal] #swingdescription(Swing/ImplicitDownCycleTraversal,FocusTraversalPolicyの自動的なフォーカスダウンサイクルを無効にする,SortingFocusTraversalPolicyを設定したパネルで、暗黙的にフォーカスをダウンサイクルで移動しないように設定します。,https://drive.google.com/thumbnail?id=1BhqefPKEKZ7kqrsjy2ySEncqitLXR7qrfw) ** FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする [#AutoScrollOnFocus] #swingdescription(Swing/AutoScrollOnFocus,FocusTraversalPolicyを使用してフォーカスを取得したコンポーネントまでスクロールする,FocusTraversalPolicyを使用してフォーカスをもつコンポーネントを取得し、その全体が表示されるまでスクロールします。,https://drive.google.com/thumbnail?id=1FEs_WslEqQzxCPS7bxq_smwC8Ao3j6-JcA) ** JTabbedPaneのタブ移動時にInputVerifierによる検証を実行する [#TabbedPaneInputVerifier] #swingdescription(Swing/TabbedPaneInputVerifier,JTabbedPaneのタブ移動時にInputVerifierによる検証を実行する,JTabbedPaneのタブ移動時にタブコンポーネントに設定されたInputVerifierを実行し、その検証で入力が無効な場合はタブの切替をキャンセルします。,https://drive.google.com/thumbnail?id=1E4H4aD4uZ-DBc_H6-KLuEEsZoyJqNxdHuQ) ** JFormattedTextFieldからフォーカスが失われた場合の処理を設定する [#FocusLostBehavior] #swingdescription(Swing/FocusLostBehavior,JFormattedTextFieldからフォーカスが失われた場合の処理を設定する,JFormattedTextFieldからフォーカスが失われた場合に実行するアクションを設定してテストします。,https://drive.google.com/thumbnail?id=1v2TdYvIAIuNFlxDutW3g3476R3mqqff2rQ) ** MenuSelectionManagerですべてのJPopupMenuを取得する [#GetAllPopupMenus] #swingdescription(Swing/GetAllPopupMenus,MenuSelectionManagerですべてのJPopupMenuを取得する,MenuSelectionManagerですべてのJPopupMenuを取得し、任意のタイミングでそれらを非表示に切り替えます。,https://drive.google.com/thumbnail?id=18mKH-3iW9D0-aw0doM7C-6-hFWoe-JMa7w) ** JTextAreaにフォーカスが当たったときその高さを自動拡張する [#ExpandingTextArea] #swingdescription(Swing/ExpandingTextArea,JTextAreaにフォーカスが当たったときその高さを自動拡張する,JTextAreaにフォーカスが当たったときその高さを自動拡張、外れたときに縮小します。,https://drive.google.com/thumbnail?id=11MUj8pt3sndJr2o7ebuYFDE4gaRnE4AklA) ** JPopupMenuを開く前に対象となるJTextFieldにFocusを移動する [#FocusBeforePopup] #swingdescription(Swing/FocusBeforePopup,JPopupMenuを開く前に対象となるJTextFieldにFocusを移動する,JTextFieldなどに設定したJPopupMenuをマウスの右クリックで開くとき、そのJTextComponentにFocusを移動し文字列を全選択します。,https://drive.google.com/thumbnail?id=1DYqevQ-Nj2i5IptiAWC7KPYVKcbmuL9sMA) ** JSliderのFocusBorderを非表示に設定する [#SliderFocusBorder] #swingdescription(Swing/SliderFocusBorder,JSliderのFocusBorderを非表示に設定する,WindowsLookAndFeelを使用するJSliderで、点線のFocusBorderを非表示に設定します。,https://drive.google.com/thumbnail?id=1zvmXqQPcE3P84DbjDk0vFmBympd7es24Gw) ** JComboBoxのFocusBorderの対象を内部のアイテムではなくJComboBox自体に変更する [#ComboBoxFocusBorder] #swingdescription(Swing/ComboBoxFocusBorder,JComboBoxのFocusBorderの対象を内部のアイテムではなくJComboBox自体に変更する,WindowsLookAndFeelでJComboBoxの内部アイテムに適用される点線のFocusBorderを非表示にし、代替としてJComboBox自体に実線のFocusBorderを表示します。,https://drive.google.com/thumbnail?id=1c5v18Ay9IHqlvUQYoK72CBW4ln2OS5QXxQ) * ↑30 ↓31 [#x0e8900d] #adsensebar ** JTableのセルエディタ内でタブキーによるフォーカス移動を有効にする [#CellEditorFocusCycle] #swingdescription(Swing/CellEditorFocusCycle,JTableのセルエディタ内でタブキーによるフォーカス移動を有効にする,JTableが編集中の場合はセルエディタ内でタブキーによるフォーカス移動が可能になるよう設定します。,https://drive.google.com/thumbnail?id=1m3-6T_FyHa51fARDyoZ92MJKfAVox1HjjQ) ** JEditorPaneで選択ハイライトの描画範囲を変更する [#WholeLineHighlightPainter] #swingdescription(Swing/WholeLineHighlightPainter,JEditorPaneで選択ハイライトの描画範囲を変更する,JEditorPaneのCaretを変更して改行のみのパラグラフ上でも選択ハイライトが描画されるよう変更します。,https://drive.google.com/thumbnail?id=1bwJ-w1zk4C_2cpxyF6t0Ky6K3Grn1Z8T) ** JButtonなどの点線によるフォーカス描画の内余白を変更する [#FocusDashedRectGap] #swingdescription(Swing/FocusDashedRectGap,JButtonなどの点線によるフォーカス描画の内余白を変更する,WindowsLookAndFeelなどを適用したJButtonで描画される点線によるフォーカス矩形の内余白を変更します。,https://drive.google.com/thumbnail?id=1l5MNuTp7CTOcdF6t6zeqccxU2fJtnU6V) ** DefaultButtonをフォーカスが存在するJButtonに設定する [#DefaultButtonFollowsFocus] #swingdescription(Swing/DefaultButtonFollowsFocus,DefaultButtonをフォーカスが存在するJButtonに設定する,DefaultButtonではないJButtonにフォーカスが存在する場合、そのJButtonがDefaultButtonとしてふるまうよう設定します。,https://drive.google.com/thumbnail?id=1psyQVTV93zuNxaZxHISe8XkyPWTPAS7Z) ** JLabelがクリックされたらこれに割り当てられているコンポーネントにフォーカスを移動する [#LabelForRequestFocus] #swingdescription(Swing/LabelForRequestFocus,JLabelがクリックされたらこれに割り当てられているコンポーネントにフォーカスを移動する,JLabelがマウスでクリックされたらこのラベルに割り当てられているコンポーネントにフォーカスを移動します。,https://drive.google.com/thumbnail?id=1BInMW2eZh0dX_W7qu-ZUCa11qjYC3woq) ** JTextFieldがFocusを取得したらBorderの右上左辺を順に描画する [#FocusBorderAnimation] #swingdescription(Swing/FocusBorderAnimation,JTextFieldがFocusを取得したらBorderの右上左辺を順に描画する,JTextFieldがキーボードフォーカスを取得したら右上左辺を直線で順に描画するBorderアニメーションを開始します。,https://drive.google.com/thumbnail?id=1QFbs_eWetOYY37ic7VLmBwgRoGOTIXxY) ** JWindow内にフォーカス可能なコンポーネントを配置する [#JWindowFocus] #swingdescription(Swing/JWindowFocus,JWindow内にフォーカス可能なコンポーネントを配置する,JWindowや装飾なしのJFrame、JPopupMenuなどにフォーカス可能なコンポーネントを配置するテストを実行します。,https://drive.google.com/thumbnail?id=1tjnD9mtXy7CD07S9aW8kNU7FyC25yk00) ** JTabbedPaneのタブ選択で表示状態になったタブコンポーネントにフォーカスを移動する [#RequestFocusForVisibleComponent] #swingdescription(Swing/RequestFocusForVisibleComponent,JTabbedPaneのタブ選択で表示状態になったタブコンポーネントにフォーカスを移動する,JTabbedPaneのタブをマウスの左プレスで選択したとき、表示状態になったタブコンポーネントにフォーカスを移動するよう設定します。,https://drive.google.com/thumbnail?id=19lig34E-Uyjig7Q_tJB-IpcHpNKl_Wgv) ** JFrameがアクティブであるかどうかでテキスト選択ハイライト色を変更する [#ActiveWindowSelectionHighlight] #swingdescription(Swing/ActiveWindowSelectionHighlight,JFrameがアクティブであるかどうかでテキスト選択ハイライト色を変更する,JFrameがアクティブであるかどうかでその子JTextComponentのテキスト選択ハイライトの背景色を変更します。,https://drive.google.com/thumbnail?id=1sOHrYiRZV6ufD9BL06qPXjPKbq61R7ge) ** JTabbedPaneのタブが選択されている場合のフォーカスBorderを下線に変更する [#UnderlineTabFocusIndicator] #swingdescription(Swing/UnderlineTabFocusIndicator,JTabbedPaneのタブが選択されている場合のフォーカスBorderを下線に変更する,JTabbedPaneのタブが選択されている場合のフォーカスBorderをドットの囲み罫ではなく下線に変更します。,https://drive.google.com/thumbnail?id=1IT_j78FMubgNQJySR_897nnxNwD_9mDU) * ↑40 ↓41 [#j1c08135] #adsensebar ** JTabbedPaneで直前に選択されていたタブのフォーカスBorderを履歴として表示する [#PreviouslySelectedTabColor] #swingdescription(Swing/PreviouslySelectedTabColor,JTabbedPaneで直前に選択されていたタブのフォーカスBorderを履歴として表示する,JTabbedPaneで現在選択されているタブとその直前に選択されていたタブのフォーカスBorderの色を変更します。,https://drive.google.com/thumbnail?id=12XYGL6MqIofBl0sm5TOiDP-Q2GlM4RLA) ** JComboBoxへのフォーカス移動がInputVerifierの検証で拒否されたらドロップダウンリスト表示をキャンセルする [#DisableComboPopupByVerifier] #swingdescription(Swing/DisableComboPopupByVerifier,JComboBoxへのフォーカス移動がInputVerifierの検証で拒否されたらドロップダウンリスト表示をキャンセルする,JComboBoxへのマウスクリックによるフォーカス移動が別コンポーネントに設定されているInputVerifierの検証で拒否された場合、そのドロップダウンリストの表示をキャンセルします。,https://drive.google.com/thumbnail?id=1xn-FG-x8N-VW-HcaW1ch4c-QcMoMkYzk) ** JTabbedPaneの選択タブとフォーカスタブを分離する [#TabbedPaneSelectionFollowsFocus] #swingdescription(Swing/TabbedPaneSelectionFollowsFocus,JTabbedPaneの選択タブとフォーカスタブを分離する,JTabbedPaneのキー入力によるタブ移動で選択タブとフォーカスタブを一致させるか、または別々に扱うかを設定で切り替えます。,https://drive.google.com/thumbnail?id=1mS3Bmh6B7dAqMMBMM3TiCTRLVoHZzxiy) ** JTextFieldにフォーカスの有無でフチ色を変更するBorderを設定する [#FocusBorder] #swingdescription(Swing/FocusBorder,JTextFieldにフォーカスの有無でフチ色を変更するBorderを設定する,JTextFieldにフォーカスが適用されたらそのフチ色を変更してハイライトするBorderを設定します。,https://drive.google.com/thumbnail?id=1uxBRQ_jk5WrG6Q6E7Jqg0BaaVQFLgrYD) ** ComponentのFocus移動をContainerに追加した順番に設定する [#ContainerOrderFocusTraversalPolicy] #swingdescription(Swing/ContainerOrderFocusTraversalPolicy,ComponentのFocus移動をContainerに追加した順番に設定する,ComponentのFocus移動を親Containerに追加した順番で循環するContainerOrderFocusTraversalPolicyを設定します。,https://drive.google.com/thumbnail?id=1lG6lBzr-HmSWdfylbxnJpFOe7x-0HfBZ)