概要

Tabキーによるフォーカス移動が発生した場合、ButtonGroup内で現在選択されているJRadioButtonにフォーカスが移動するよう設定します。

スクリーンショット

ButtonGroupFocusTraversalPolicy.png

サンプルコード

buttons.setFocusTraversalPolicyProvider(true);
buttons.setFocusTraversalPolicy(new LayoutFocusTraversalPolicy() {
  @Override public Component getDefaultComponent(Container focusCycleRoot) {
    return Stream.of(focusCycleRoot.getComponents())
      .filter(c -> ((JRadioButton) c).getModel().equals(selection))
      .findFirst().orElse(super.getDefaultComponent(focusCycleRoot));
  }
});
View in GitHub: Java, Kotlin

解説

参考リンク

コメント