2011年8月1日月曜日

フレームにタイトルを表示させる(Java)

5-1】AWTの場合①
import java.awt.Frame;
import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main {
    public static void main(String[] args){
        Gui frame = new Gui("初めての超〜GUI基礎5回目");
        frame.setSize(500, 300);
        frame.setBackground(Color.red);
        frame.setVisible(true);
    }
}

class Gui extends Frame{
    private static final long serialVersionUID = 1L;
    public Gui(String string){
           setTitle(string);
           addWindowListener(new WindowAdapter(){
                  public void windowClosing(WindowEvent we){
                      System.exit(0);
             }
           });
    }
}
5-2】AWTの場合②
mport java.awt.Frame;
import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main {
    public static void main(String[] args){
        Gui frame = new Gui();
        frame.setSize(500, 300);
        frame.setBackground(Color.red);
        frame.setVisible(true);
    }
}

class Gui extends Frame{
    private static final long serialVersionUID = 1L;
    public Gui(){
           setTitle("初めての超〜GUI基礎5回目");
           addWindowListener(new WindowAdapter(){
                  public void windowClosing(WindowEvent we){
                      System.exit(0);
             }
           });
    }
}

※①と②の違いは、クラスの使いまわしができるか、できないかの差かな~!?ということは、①が良いでしょう。

【5-3】Swingの場合①
import javax.swing.JFrame;
import java.awt.Color;
public class Main {
    public static void main(String[] args){
        Gui frame = new Gui("初めての超〜GUI基礎5回目");
        frame.setVisible(true);
    }
}
class Gui extends JFrame{
    private static final long serialVersionUID = 1L;
    public Gui(String string){
        setTitle(string);
        setSize(500, 300);
        getContentPane().setBackground(Color.red);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

【5-4】Swingの場合②
import javax.swing.JFrame;
import java.awt.Color;
public class Main {
    public static void main(String[] args){
        Gui frame = new Gui();
        frame.setVisible(true);
    }
}
class Gui extends JFrame{
    private static final long serialVersionUID = 1L;
    public Gui(){
        setTitle("初めての超〜GUI基礎5回目");
        setSize(500, 300);
        getContentPane().setBackground(Color.red);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

※基本、AWTの場合と同じだね。Swingの方がプログラムを閉じるAdapterクラスがないのでスッキリしたコードになっている。
実行結果




【解説】
上記から”AWT”ができることは、Swingでもできることがわかる。

0 件のコメント: