JFrame を継承して背景色を設定する

JFrame を継承して背景が白(既定色)と赤の、2枚の Window を同時に表示します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして JFrameColor.java の名前で保存して下さい。
    //★ JFrame を継承して背景色を指定する    前田 稔
    import javax.swing.*;
    import java.awt.*;
    
    public class JFrameColor extends JFrame
    {
        // Constructor
        public JFrameColor()
        {   super("View JFrame");
            setSize(400,300);
            setVisible(true);
        }
    
        // Constructor(指定された色を背景色に設定)
        public JFrameColor(Color color)
        {   this();     //デフォルトのコンストラクタ
            // 背景色を設定
            getContentPane().setBackground(color);
        }
    
        public static void main(String argv[])
        {   JFrameColor cf1 = new JFrameColor();
            JFrameColor cf2 = new JFrameColor(new Color(255,0,0));
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    コンパイルの詳細は Java2 を動かす または Jcpad の設定を参照して下さい。
  3. 白と赤の2枚の Window が表示されたら完成です。
    2枚が重なって表示されるので上のウインドウを移動して確認して下さい。
    確認が終われば、DOS 画面の右上の「×」をクリックして終了して下さい。

プログラムの説明

  1. Color など基本的な Object は AWT で定義されています。
    javax.swing.*; に加えて java.awt.*; もインポートして下さい。
    JFrame(Swing) の基本的な説明は JFrame を継承して Window を表示 を参照して下さい。
  2. このプログラムでは2個のコンストラクタが使われています。
    public JFrameColor() がパラメータを省略したときのコンストラクタです。
    super() で継承した JFrame Class のコンストラクタを呼び出します。
    setSize() で Frame のサイズを設定します。
    setVisible() で Frame を表示します。
        // Constructor
        public JFrameColor()
        {   super("View JFrame");
            setSize(400,300);
            setVisible(true);
        }
        
  3. 背景色を設定する2個目のコンストラクタです。
    this(); でパラメータを省略したときのコンストラクタを呼び出してから背景色を設定します。
    this(); を使わずにパラメータを省略したときと同じように記述することもできます。
    getContentPane().setBackground(color) で Frame の背景色を設定します。
    Swing では JFrame に直接では無く、ContentPane を通して設定します。
        // Constructor(指定された色を背景色に設定)
        public JFrameColor(Color color)
        {   this();     //デフォルトのコンストラクタ
            // 背景色を設定
            getContentPane().setBackground(color);
        }
        
  4. main() プログラムでは new JFrameColor() で一枚目の Window を表示します。
    次に new JFrameColor(new Color(255,0,0)); で二枚目の Window を表示します。
    Color(255,0,0) が色の指定で「赤,緑,青」の順に0〜255の範囲で指定します。
        public static void main(String argv[])
        {   JFrameColor cf1 = new JFrameColor();
            JFrameColor cf2 = new JFrameColor(new Color(255,0,0));
        }
        

【演習】

フレームのサイズや色を変えて表示して下さい。

超初心者のプログラム入門(Java2)