FocusTraversalPolicyの自動的なフォーカスダウンサイクルを無効にする
Total: 3713, Today: 1, Yesterday: 2
Posted by aterai at
Last-modified:
Summary
SortingFocusTraversalPolicyを設定したパネルで、暗黙的にフォーカスをダウンサイクルで移動しないように設定します。
Screenshot

Advertisement
Source Code Examples
JPanel p = new JPanel();
LayoutFocusTraversalPolicy ftp = new LayoutFocusTraversalPolicy();
ftp.setImplicitDownCycleTraversal(false);
p.setFocusCycleRoot(true);
p.setFocusTraversalPolicy(ftp);
View in GitHub: Java, KotlinDescription
上記のサンプルでは、SortingFocusTraversalPolicy#setImplicitDownCycleTraversal(...)メソッドで暗黙的にフォーカスをダウンサイクルで移動するかどうかを切り替えて子パネルへのフォーカス移動のテストを行っています。
SortingFocusTraversalPolicy#setImplicitDownCycleTraversal(true)- デフォルト
- デフォルトフォーカスの
JCheckBoxからTabキーで子パネル内のJTextAreaにダウンサイクルでフォーカスが移動可能
SortingFocusTraversalPolicy#setImplicitDownCycleTraversal(false)- 子パネルが
setFocusCycleRoot(true)の場合、デフォルトフォーカスのJCheckBoxからTabキーを押すとこれを飛ばしてJButtonにフォーカスが移動 - 子パネルが
setFocusCycleRoot(false)の場合、デフォルトフォーカスのJCheckBoxからTabキーを押すとJTextAreaにフォーカスが移動
- 子パネルが