• category: swing folder: ThumbArrowShape title: JSliderのつまみの形状を変更 tags: [JSlider, LookAndFeel] author: aterai pubdate: 2014-04-07T00:03:19+09:00 description: JSliderのつまみの形状を目盛り表示ありの場合と同じになるよう変更します。 image: https://lh3.googleusercontent.com/-wnMCy-QjKqI/U0Fp9vKfehI/AAAAAAAACDE/fem_kGyz1KM/s800/ThumbArrowShape.png

概要

JSliderのつまみの形状を目盛り表示ありの場合と同じになるよう変更します。

サンプルコード

slider.putClientProperty("Slider.paintThumbArrowShape", Boolean.TRUE);
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、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では、縦スライダーのつまみが横スライダーのものと同じになるが、これが仕様かどうかは不明

参考リンク

コメント