表示方法の変更(前景色と背景色)
広告
選択した項目の前景色と背景色を変更します。それぞれJListクラスで定義されている"setSelectionForeground"メソッドと"setSelectionBackground"メソッドを使います。
setSelectionForegroundメソッド
public void setSelectionForeground(Color selectionForeground)
選択されたセルのフォアグラウンドカラーを設定します。セルレンダリングは
この色を使用して、選択されたセルのテキストとグラフィックスを描画します。
このプロパティのデフォルト値は、Look & Feel の実装によって定義されます。
パラメータ:
selectionForeground - 選択されたリスト項目のフォアグラウンドで使用する
Color
setSelectionBackgroundメソッド
public void setSelectionBackground(Color selectionBackground)
選択されたセルのバックグラウンドカラーを設定します。セルレンダリングは
この色を使用して、選択されたセルを塗りつぶすことができます。
このプロパティのデフォルト値は、Look & Feel の実装によって定義されます。
パラメータ:
selectionBackground - 選択されたセルのバックグラウンドで使用する
Color
どちらのメソッドも色としてColorクラスのオブジェクトを指定します。下記のサンプルでは、選択項目の前景色を赤に、背景色を黒に変更してみます。
import javax.swing.*;
import java.awt.*;
public class JListSample extends JFrame{
protected JList list;
public static void main(String[] args){
JListSample test = new JListSample("JListSample");
/* 終了処理を変更 */
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setBounds( 10, 10, 250, 150);
test.setVisible(true);
}
JListSample(String title){
setTitle(title);
/* JListの初期データ */
String[] initData = {"Blue", "Green", "Red", "Whit", "Black"};
list = new JList(initData);
/* 前景色と背景色の変更 */
list.setSelectionForeground(Color.red);
list.setSelectionBackground(Color.black);
JScrollPane sp = new JScrollPane();
sp.getViewport().setView(list);
sp.setPreferredSize(new Dimension(200, 80));
JPanel p = new JPanel();
p.add(sp);
getContentPane().add(p, BorderLayout.CENTER);
}
}
実行結果は下記のようになります。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。