フレームの作成

GUIを使う

javaはオブジェクト指向言語です。最近ではオブジェクト指向言語であることは珍しいことではなくなってしまいました。それは最近のグラフィックユーザーインターフェース(GUI)を簡単に実現しようとすれば、必然的にそうならざるを得ないからだと思います。ではこのjavaでGUIはどのように実現されるのでしょうか。

javaにはクラスライブラリというものがあります。C言語などでもライブラリがありますが考え方は同じで、プログラムを作る上で部品として使えるものです。すでに Math.PI や Math.random() などを利用していますから用意された部品を呼び出して使うというライブラリは経験しています。ですが、GUIのクラスライブラリの使い方はちがいます。ここがオブジェクト指向ならではなのですが‥‥。

空のウインドウを作る

まず、次のような空のウインドウを作ります。javaでは Frame と呼びます。

プログラム名 Swing00.java

import javax.swing.*;

/** JFrame 最初の一歩 */
public class Swing00{
	public static void main(String[] args){
		/* フレームを作成 */
		JFrame frame1 = new JFrame();

		/* サイズと位置を指定 */
		frame1.setSize(400, 300);

		/* 終了処理を設定 */
		frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		/* 実際に表示する */
		frame1.setVisible(true);
	}
}
import javax.swing.*;
JFrame は javax.swing というパッケージのなかにあるので、本来は javax.swing.JFrame と書かなければならない。しかし、これでは面倒なので、import javax.swing.*; と冒頭に書くことで、javax.swing を省略できるようにする。
JFrameというキーワード(機能)がないときは javax.swing. をつけて探せということ。
JFrame
フレームをつくるクラス。(Frameの拡張)
JFrame frame1
double x が double という型の x という変数を使うという宣言と同様に
JFrameというクラスの frame1 というものを使うという宣言。
new JFrame
JFrameのクラスのフレームをひとつつる。frame1 = new JFrame とすればつくったものに frame1 と名前をつけるとうこと。
この frame1 を Jframe のオブジェクトとかインスタンスとかいう。
frame1.setSize(400, 300);
frame1の大きさを幅400ピクセル、高さ300ピクセルにする。
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
[×]ボタンを押すことで、アプリケーションを終了する。
frame1.setVisible(true);
frame1 を表示する。(true を false にすると隠すことになる)

frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); を忘れると、[×] ボタンでウインドウは閉じますが、プログラムは終了しません。下記のように次の命令ができない状態になります。プログラムはまだ実行中です。

U:\user\java>java Swing00


このようなときには、[Ctrl] + [C] (コントロールキーを押しながらCを押す)の操作をしてください。プログラムが終了します。

要点

意味 javaでの一般的用語
JFrame frame1 = new JFrame(); JFrameの機能を持ったフレームを作成 オブジェクト(インスタンス)を作る
frame1.setSize(400, 300); フレームの大きさを指定 setSizeというメソッドを利用
もくじ

聖愛高等学校
http://www.seiai.ed.jp/
Last Modified