• category: swing folder: RolloverModeToolBar title: JToolBarのロールオーバー状態を設定する tags: [JToolBar, JToggleButton, AbstractButton, Focus] author: aterai pubdate: 2017-08-07T14:35:07+09:00 description: JToolBarのロールオーバー状態を設定し、内部に設定したJToggleButtonなどの表示を変更します。 image: https://drive.google.com/uc?id=10xjTu8RF7AgkHSL9kzraWAKN5bmfcUON0A

概要

JToolBarのロールオーバー状態を設定し、内部に設定したJToggleButtonなどの表示を変更します。

サンプルコード

JToolBar toolbar = new JToolBar();
// System.out.println(toolbar.isRollover());
toolbar.setRollover(true);
View in GitHub: Java, Kotlin

解説

  • JToolBar#setRollover(true)
    • ロールオーバーが有効になる
    • LookAndFeelによっては、この設定は無視される
      • 例えばNimbusLookAndFeelは常にロールオーバーが有効
      • WindowsLookAndFeelなどの初期状態では、JToolBar#isRollover()falseを返すのに動作はtrueを設定した場合と同じになってしまう?
    • JToggleButton自体にAbstractButton#setRolloverEnabled(false)を設定してもロールオーバーするようになる
    • LookAndFeel依存の描画でJToggleButtonAbstractButton#setContentAreaFilled(false)を設定するとボタンが選択されているか判別不可になる場合がある
  • JToolBar#setRollover(false)
    • ロールオーバーは無効になる
    • WindowsLookAndFeelではJToggleButtonのフチがBevelBorderに変更される

参考リンク

コメント