概要
JSlider
のノブをマウスの右ボタンで操作可能かどうかを設定で切り替えます。
Screenshot
Advertisement
サンプルコード
// 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
などのデフォルト
参考リンク
- JDK-6614972 JSlider value should not change on right-click - Java Bug System
- java - How to disable position change of JSlider on mouse right click - Stack Overflow