定義済みの色を使用する
広告
今までは色の割合をRGB値を使って指定していましたが、Colorクラスでは予め色々な色が定義されています。この定義済みの色を使って色を指定することが可能です。
定義済みの色の一覧は次の通りです。
値 | 説明 | 別名 |
---|---|---|
Color.BLACK | 黒を表します。 | Color.black |
Color.BLUE | 青を表します。 | Color.blue |
Color.CYAN | シアンを表します。 | Color.cyan |
Color.DARK_GRAY | ダークグレイを表します。 | Color.darkGray |
Color.GRAY | グレイを表します。 | Color.gray |
Color.GREEN | 緑を表します。 | Color.green |
Color.LIGHT_GRAY | ライトグレイを表します。 | Color.lightGray |
Color.MAGENTA | マゼンタを表します。 | Color.magenta |
Color.ORANGE | オレンジを表します。 | Color.orange |
Color.PINK | ピンクを表します。 | Color.pink |
Color.RED | 赤を表します。 | Color.red |
Color.WHITE | 白を表します。 | Color.white |
Color.YELLOW | 黄を表します。 | Color.yellow |
同じ色に対して大文字と小文字の2通りが用意されていますが、以前は小文字だけだったのですがJDK1.4から大文字でも定義が行われました。他の定義済みの値と統一するための処置だと思いますので今後は大文字の方を使用した方がいいと思います。
1つ1つの値は例えば次のようにColorクラスのオブジェクトとして定義されています。
YELLOW public static final Color YELLOW
黄を表します。デフォルトの sRGB 領域です。
実際の使い方は次のようになります。
JLabel label = new JLabel("ラベル"); label.setBackground(Color.RED);
サンプルプログラム
では簡単なサンプルを作成して試してみます。今回は定義済みの色の数だけJLabelクラスのオブジェクトを作成しそれぞれの色を背景色に設定してみます。
import javax.swing.*; import java.awt.Color; public class JColorTest3 extends JFrame{ public static void main(String[] args){ JColorTest3 frame = new JColorTest3(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } JColorTest3(){ JLabel label1 = new JLabel("COLOR BLACK"); label1.setOpaque(true); label1.setBackground(Color.BLACK); JLabel label2 = new JLabel("COLOR BLUE"); label2.setOpaque(true); label2.setBackground(Color.BLUE); JLabel label3 = new JLabel("COLOR CYAN"); label3.setOpaque(true); label3.setBackground(Color.CYAN); JLabel label4 = new JLabel("COLOR DARK_GRAY"); label4.setOpaque(true); label4.setBackground(Color.DARK_GRAY); JLabel label5 = new JLabel("COLOR GRAY"); label5.setOpaque(true); label5.setBackground(Color.GRAY); JLabel label6 = new JLabel("COLOR GREEN"); label6.setOpaque(true); label6.setBackground(Color.GREEN); JLabel label7 = new JLabel("COLOR LIGHT_GRAY"); label7.setOpaque(true); label7.setBackground(Color.LIGHT_GRAY); JLabel label8 = new JLabel("COLOR MAGENTA"); label8.setOpaque(true); label8.setBackground(Color.MAGENTA); JLabel label9 = new JLabel("COLOR ORANGE"); label9.setOpaque(true); label9.setBackground(Color.ORANGE); JLabel label10 = new JLabel("COLOR PINK"); label10.setOpaque(true); label10.setBackground(Color.PINK); JLabel label11 = new JLabel("COLOR RED"); label11.setOpaque(true); label11.setBackground(Color.RED); JLabel label12 = new JLabel("COLOR WHITE"); label12.setOpaque(true); label12.setBackground(Color.WHITE); JLabel label13 = new JLabel("COLOR YELLOW"); label13.setOpaque(true); label13.setBackground(Color.YELLOW); JPanel p = new JPanel(); p.add(label1); p.add(label2); p.add(label3); p.add(label4); p.add(label5); p.add(label6); p.add(label7); p.add(label8); p.add(label9); p.add(label10); p.add(label11); p.add(label12); p.add(label13); getContentPane().add(p); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )