Hello Swing!

last modified: Jun./29th/2002

HelloSwing.java:

import java.awt.*;
import javax.swing.*;

public class HelloSwing {
	public static void main(String[] args) {

		// JFrame のインスタンス化
		JFrame frame = new JFrame("HelloSwing");

		// JLabel のインスタンス化
		JLabel label = new JLabel("Hello World!");

		// JFrame のコンテント・ペインの取得
		Container cont = frame.getContentPane();
		// コンテント・ペインに JLabel を配置
		cont.add(label);

		// フレームのセットアップ
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}
}

実行例:

C:\java>javac HelloSwing.java

C:\java>java HelloSwing

HelloSwing の実行結果
図: HelloSwing の実行結果

解説

パッケージのインポート

Swing アプリケーションは、パッケージ java.awt, javax.swing に属するクラスを使っています。従って、この二つのパッケージに属する全てのクラスをインポートするのが簡単です。

import java.awt.*;
import javax.swing.*;

トップレベル・コンテナの作成

Swing GUI アプリケーションでは、最低でも一つのトップレベル・コンテナが必要です。これのうえに、他のコンポーネントを配置して描画します。ここでは、 JFrame クラスをインスタンス化しています。これはウィンドウを作るコンポーネントです。

		// JFrame のインスタンス化
		JFrame frame = new JFrame("HelloSwing");

		...

		// フレームのセットアップ
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);

JFrame をインスタンス化して、 HelloSwing というタイトルのウィンドウを作ります。

JFrame frame = new JFrame("HelloSwing");

このままでは、不可視なので、可視化します。

frame.setVisible(true);

サブコンポーネントの推奨サイズおよびレイアウトに合わせて、このウィンドウのサイズを変更します。

frame.pack();

ウィンドウのクローズ・ボタン CLOSE を押すと、アプリケーションが終了するように設定します。

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

部品の作成

ウィンドウに配置する部品を作成します。ここでは、 JLabel をインスタンス化してラベルを作ります。

JLabel label = new JLabel("Hello World!");

JLabel をインスタンス化して、 Hello World! という文字列が描画されているラベルを作っています。

部品の配置

作った部品をトップレベル・コンテナに配置するために、トップレベル・コンテナからコンテント・ペインというものを取得しています。これの上に部品を配置、描画します。

Container cont = frame.getContentPane();

コンテント・ペインに部品を配置します。

cont.add(label);

そのほかに必要なこと

ここで紹介した以外に、中間コンポーネント、レイアウトマネージャ、イベント処理、スレッド作成/管理などの手続きを実装する必要があります。後続の節で順番に説明します。



Copyright © 2002 SUGAI, Manabu. All Rights Reserved.