Swing/SliderAltTrackColor の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/SliderAltTrackColor へ行く。
- Swing/SliderAltTrackColor の差分を削除
--- category: swing folder: SliderAltTrackColor title: MetalLookAndFeelを適用したJSliderで現在値までのトラック背景色を変更する tags: [JSlider, MetalLookAndFeel, UIManager] author: aterai pubdate: 2022-04-25T00:06:24+09:00 description: MetalLookAndFeelを適用したJSliderで現在値を示す領域のトラック背景色を変更します。 image: https://drive.google.com/uc?id=1NIeKsjf4OZ3BQSuBNBzO0YkDemUbh1k3 --- * 概要 [#summary] `MetalLookAndFeel`を適用した`JSlider`で現在値を示す領域のトラック背景色を変更します。 #download(https://drive.google.com/uc?id=1NIeKsjf4OZ3BQSuBNBzO0YkDemUbh1k3) * サンプルコード [#sourcecode] #code(link){{ UIManager.put("Slider.altTrackColor", Color.RED); JSlider slider1 = new JSlider(); slider1.setInverted(true); JSlider slider2 = new JSlider(); slider2.putClientProperty("JSlider.isFilled", false); }} * 解説 [#explanation] - `Slider.altTrackColor: RED` -- `UIManager.put("Slider.altTrackColor", Color.RED)`で現在地までのトラック背景色を変更 -- この設定は`MetalLookAndFeel`でのみ有効 - `Slider.altTrackColor: RED + Slider.setInverted: true` -- `Slider.altTrackColor`の設定は`JSlider#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)`を設定しても参照されないので無効 * 参考リンク [#reference] - [[NimbusLookAndFeelを適用したJSliderで範囲の塗りつぶしを行う>Swing/NimbusFilledSlider]] * コメント [#comment] #comment #comment