JSliderのつまみの形状を変更
Total: 4723
, Today: 1
, Yesterday: 0
Posted by aterai at
Last-modified:
概要
JSlider
のつまみの形状を目盛り表示ありの場合と同じになるよう変更します。
Screenshot
Advertisement
サンプルコード
解説
上記のサンプルでは、slider.putClientProperty("Slider.paintThumbArrowShape", Boolean.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の目盛り表示位置をトラック上部に変更するのように自前で左右反転する必要がある?