• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JSliderの順序をを反転
#navi(../)
#tags(JSlider)
RIGHT:Posted by &author(aterai); at 2014-02-10
* JSliderの順序をを反転 [#i04e4c23]
---
category: swing
folder: InvertedSlider
title: JSliderの順序を反転
tags: [JSlider]
author: aterai
pubdate: 2014-02-10T00:01:53+09:00
description: JSliderの値や目盛りの表示などの順序を反転します。
image: https://lh6.googleusercontent.com/-qI_Mv8LOhi8/UvdK3TThMiI/AAAAAAAAB_0/xQR9OJ1Z8xY/s800/InvertedSlider.png
---
* 概要 [#summary]
`JSlider`の値や目盛りの表示などの順序を反転します。

#download
#ref(https://lh6.googleusercontent.com/-qI_Mv8LOhi8/UvdK3TThMiI/AAAAAAAAB_0/xQR9OJ1Z8xY/s800/InvertedSlider.png)
#download(https://lh6.googleusercontent.com/-qI_Mv8LOhi8/UvdK3TThMiI/AAAAAAAAB_0/xQR9OJ1Z8xY/s800/InvertedSlider.png)

** サンプルコード [#qdbefb3f]
* サンプルコード [#sourcecode]
#code(link){{
slider.setInverted(true);
}}

** 解説 [#r353cd9b]
上記のサンプルでは、`JSlider#setInverted(true)`で、値や目盛りの表示を反転しています。
* 解説 [#explanation]
上記のサンプルでは、`JSlider#setInverted(true)`で値や目盛りの表示位置を反転しています。

- 注:
-- `JSlider#setInverted(true)`と`setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)`で言語に依存する方向を同時に指定可能
--- `JSlider.HORIZONTAL`の場合、両方指定すると元に戻る
--- `JSlider.VERTICAL`の場合、`JSlider#setInverted(true)`で上最小、下最大に変化し、`setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)`で目盛りの位置が右から左に変化する
-- 範囲の塗り潰しが可能な`MetalLookAndFeel`の場合、これも反転する
- `JSlider#setInverted(true)`は言語に依存する方向設定の`setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)`と同時に指定可能
-- `SwingConstants.HORIZONTAL`の場合両方指定すると表示は元に戻る
-- `SwingConstants.VERTICAL`の場合`JSlider#setInverted(true)`で上方向が最小値・下方向が最大値に変化し、`setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)`で目盛りの位置が右側から左側に変化する
- 範囲の塗り潰しが可能な`MetalLookAndFeel`の場合その塗り潰しも反転する
- `WindowsLookAndFeel`を設定した縦`JSlider`で`ComponentOrientation.RIGHT_TO_LEFT`を指定した場合、ノブのフォーカスが描画されないバグ?がある
-- `com/sun/java/swing/plaf/windows/TMSchema.java`で右向きノブは`           stateMap.put(Part.TKP_THUMBRIGHT, sliderThumbStates)`と設定されているが、左向きノブの`Part.TKP_THUMBLEFT`が設定されていないので状態変化が反映されない?
-- フォーカスだけでなく`setEnabled(false)`で無効化してもノブの色が更新されないのでおそらく状態変化が反映されないバグの模様

//** 参考リンク
** コメント [#i5ee3a4b]
* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JSlider.html#setInverted-boolean- JSlider#setInverted(boolean) (Java Platform SE 8)]
- [[JSliderの目盛り表示位置をトラック上部に変更する>Swing/SliderTicksPosition]]

* コメント [#comment]
#comment
#comment