FocusTraversalPolicyの自動的なフォーカスダウンサイクルを無効にする
Total: 1758
, Today: 2
, Yesterday: 2
Posted by aterai at
Last-modified:
概要
SortingFocusTraversalPolicy
を設定したパネルで、暗黙的にフォーカスをダウンサイクルで移動しないように設定します。
スクリーンショット
広告
サンプルコード
JPanel p = new JPanel();
LayoutFocusTraversalPolicy ftp = new LayoutFocusTraversalPolicy();
ftp.setImplicitDownCycleTraversal(false);
p.setFocusCycleRoot(true);
p.setFocusTraversalPolicy(ftp);
view all解説
上記のサンプルでは、SortingFocusTraversalPolicy#setImplicitDownCycleTraversal(...)
メソッドで、暗黙的にフォーカスをダウンサイクルで移動するかどうかを切り替えて、子パネルへのフォーカス移動のテストを行っています。
SortingFocusTraversalPolicy#setImplicitDownCycleTraversal(true)
- デフォルト
- デフォルトフォーカスの
JCheckBox
から、Tabキーで子パネル内のJTextArea
にダウンサイクルでフォーカスが移動可能
SortingFocusTraversalPolicy#setImplicitDownCycleTraversal(false)
- 子パネルが
setFocusCycleRoot(true)
の場合、デフォルトフォーカスのJCheckBox
からTabキーを押すと、これを飛ばしてJButton
にフォーカスが移動 - 子パネルが
setFocusCycleRoot(false)
の場合、デフォルトフォーカスのJCheckBox
からTabキーを押すと、JTextArea
にフォーカスが移動
- 子パネルが