MetalLookAndFeelを適用したJSliderで現在値までのトラック背景色を変更する
Total: 793
, Today: 1
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
MetalLookAndFeel
を適用したJSlider
で現在値を示す領域のトラック背景色を変更します。
Screenshot
Advertisement
サンプルコード
UIManager.put("Slider.altTrackColor", Color.RED);
JSlider slider1 = new JSlider();
slider1.setInverted(true);
JSlider slider2 = new JSlider();
slider2.putClientProperty("JSlider.isFilled", false);
View in GitHub: Java, Kotlin解説
Slider.altTrackColor: RED
UIManager.put("Slider.altTrackColor", Color.RED)
で現在地までのトラック背景色を変更- この設定は
MetalLookAndFeel
でのみ有効
Slider.altTrackColor: RED + Slider.setInverted: true
Slider.altTrackColor
の設定はJSlider#setInverted(true)
で表示する値の範囲を反転している場合も対応
JSlider.isFilled: false
JSlider#putClientProperty("JSlider.isFilled", false)
で現在地までのトラック背景色を描画しないよう設定しているので、Slider.altTrackColor
の設定は無効JSlider#putClientProperty("JSlider.isFilled", false)
を設定していても、現在地までのトラックのフチ色は変化する
UIManager.put("JSlider.isFilled", false)
を設定しても参照されないので無効