概要

JSliderのノブをマウスの右ボタンで操作可能かどうかを設定で切り替えます。

スクリーンショット

OnlyLeftMouseButtonDrag.png

サンプルコード

// UIManager.put("Slider.onlyLeftMouseButtonDrag", Boolean.TRUE);
String key = "Slider.onlyLeftMouseButtonDrag";
JCheckBox check = new JCheckBox(key) {
  @Override public void updateUI() {
    super.updateUI();
    setSelected(UIManager.getLookAndFeelDefaults().getBoolean(key));
  }
};
check.addActionListener(e -> {
  boolean f = ((JCheckBox) e.getSource()).isSelected();
  UIManager.put(key, f);
});
View in GitHub: Java, Kotlin

解説

  • UIManager.put("Slider.onlyLeftMouseButtonDrag", Boolean.TRUE)
    • JSliderのノブをマウスの右ボタンで選択、ドラッグしても操作不可
    • WindowsLookAndFeelなどのデフォルト
  • UIManager.put("Slider.onlyLeftMouseButtonDrag", Boolean.FALSE)
    • JSliderのノブをマウスの右ボタンで選択、ドラッグで操作可能
    • NimbusLookAndFeelなどのデフォルト

参考リンク

コメント