前景色を設定する
広告
スライダーで表示される文字列の色(前景色)を設定します。ここで対象となるのは目盛りと標準のラベルです。JSliderクラスの親クラスであるJComponentクラスで用意されている「setForeground」メソッドを使います。
public void setForeground(Color fg)
このコンポーネントのフォアグラウンドカラーを設定します。このプロパティー が受け付けられるかどうかは Look & Feel 次第であり、無視されることもあり ます。 パラメータ: fg - 要求するフォアグラウンド Color
引数に前景色として指定したいColorクラスのオブジェクトを指定します。Colorクラスについては『Colorクラス』を参照して下さい。
実際の使い方は次のようになります。
JSlider slider = new JSlider(); slider.setMajorTickSpacing(10); slider.setPaintTicks(true); slider.setLabelTable(slider.createStandardLabels(20)); slider.setPaintLabels(true); slider.setForeground(Color.GREEN);
ラベルテーブルを自分で定義した場合には前景色の設定は反映されません。ラベルテーブルを自分で定義した場合に表示色を変更するにはラベルテーブルに登録するJComponentクラスのオブジェクトに個別に設定して下さい。
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*;
import java.awt.Color;
import java.awt.BorderLayout;
public class JSliderTest12 extends JFrame{
public static void main(String[] args){
JSliderTest12 frame = new JSliderTest12();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
JSliderTest12(){
JSlider slider = new JSlider();
slider.setMajorTickSpacing(10);
slider.setPaintTicks(true);
slider.setLabelTable(slider.createStandardLabels(20));
slider.setPaintLabels(true);
slider.setForeground(Color.GREEN);
JPanel p = new JPanel();
p.add(slider);
getContentPane().add(p, BorderLayout.CENTER);
}
}
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。