TITLE:JSliderのUIや色を変更する

JSliderのUIや色を変更する

編集者:Terai Atsuhiro
作成日:2006-12-04
更新日:2024-02-02 (金) 18:39:15

概要

JSliderのトラックやつまみ、色などを変更します。

#screenshot

サンプルコード

class TriSliderUI extends javax.swing.plaf.metal.MetalSliderUI {
  public void paintThumb(Graphics g) {
    Graphics2D g2 = (Graphics2D)g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2.fillOval(thumbRect.x,thumbRect.y,thumbRect.width,thumbRect.height);
  }
  public void paintTrack(Graphics g) {
    int cx, cy, cw, ch;
    int pad;
    Rectangle trackBounds = trackRect;
    if(slider.getOrientation() == JSlider.HORIZONTAL ) {
      Graphics2D g2 = (Graphics2D)g;
......
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルの

  • 上のJSlider
    • MetalSliderUI を継承するSliderUIをセットしています。このSliderUIは、paintThumb(Graphics)メソッドをオーバライドしてつまみの形を変更、paintTrack(Graphics)メソッドをオーバライドしてトラックの形と色を変更します。
  • 下のJSlider
    • JSlider#setForeground(Color)で、目盛のキャプションの色を青に、MetalSliderUI を継承するSliderUIをセットしています。このSliderUIでは、paintHorizontalLabel(Graphics, int, Component)メソッドをオーバライドして目盛を緑に変更しています。

参考リンク

コメント