Swing/ThumbArrowShape のバックアップの現在との差分(No.5)
- category: swing folder: ThumbArrowShape title: JSliderのつまみの形状を変更 tags: [JSlider, LookAndFeel] author: aterai pubdate: 2014-04-07T00:03:19+09:00 description: JSliderのつまみの形状を目盛り表示ありの場合と同じになるよう変更します。 image:
概要
JSlider
のつまみの形状を目盛り表示ありの場合と同じになるよう変更します。
Screenshot
Advertisement
サンプルコード
解説
上記のサンプルでは、slider.putClientProperty("Slider.paintThumbArrowShape", Boolean.TRUE);
を使用して、つまみの形状を目盛り表示ありの場合に使用する矢印型に変更しています。
上記のサンプルでは、slider.putClientProperty("Slider.paintThumbArrowShape", Boolean.TRUE)
を使用して、つまみの形状を目盛り表示ありの場合に使用する矢印型に変更しています。
- メモ
- 矢印型に変化するかどうかは、
LookAndFeel
による-
NimbusLookAndFeel
では、目盛り表示ありの場合でも矢印型にはならないが、Slider.paintThumbArrowShape
で三角形になる
-
-
WindowsLookAndFeel
でつまみが小さすぎる場合に使用可-
slider.putClientProperty("Slider.minimumHorizontalSize", new Dimension(30, 30));
を設定してもサイズは変化しない
-
-
slider.setPaintTicks(true);
だけ使用する場合と異なり、目盛り表示領域の余白がない
- 矢印型に変化するかどうかは、
- この設定で矢印型に変化するかどうかは
LookAndFeel
に依存する-
NimbusLookAndFeel
では目盛り表示ありの場合でも矢印型にはならないが、Slider.paintThumbArrowShape
で三角形になる
-
-
WindowsLookAndFeel
でつまみが小さすぎる場合に使用可-
slider.putClientProperty("Slider.minimumHorizontalSize", new Dimension(30, 30))
を設定してもサイズは変化しない
-
-
slider.setPaintTicks(true)
だけ使用する場合と異なり、目盛り表示領域の余白がない
- -
-
Windows 10
+JDK 1.8.0_121
+WindowsLookAndFeel
では縦スライダーのつまみが横スライダーのものと同じになるが、これが仕様かどうかは不明
- -
-
NimbusLookAndFeel
を設定した縦JSlider
にJSlider#putClientProperty("Slider.paintThumbArrowShape", Boolean.TRUE)
を適用して三角形のつまみを使用する場合、ComponentOrientation.RIGHT_TO_LEFT
を設定してもその三角形の頂点の向きは目盛り側に向くよう変化しない- 目盛り側に三角形の底辺が向いたままになる
- JSliderの目盛り表示位置をトラック上部に変更するのように自前で左右反転する必要がある?