ボタン

last modified: Feb./3rd/2002

いまから AWT をつかって GUI を作っていきます。最初に AWT の GUI がどんなものか、かいつまんで見ておきます。

そのために、本節ではアプレットにボタンを追加します。ボタンやテキストフィールド、ラベルなどの GUI 部品をコンポーネントと呼びます。

コンポーネントの作成と追加

ボタンの作成

GUI コンポーネントは AWT オブジェクトです。ボタンには Button クラスが用意されています。コンポーネントには他にもたくさんあり、それぞれを対応するクラスのオブジェクトとして作成します。これらのクラスは、 java.awt.Component クラスから派生しています。

Button, Canvas, Checkbox, Choice, Label, List,
Scrollbar, TextArea, TextField

ボタンクラスのオブジェクトを作成してみます。コンストラクタは次のように定義されています:

Button() ラベルなしのボタンを構築します。
Button(String label) 指定されたラベルが付いたボタンを構築します。

ここではラベルが "OK" と "Cancel" のボタンを二つ作ってみます。

Button btnOk = new Button("OK");
Button btnCl = new Button("Cancel");

簡単ですね。

ボタンの追加

作成できたらアプレットに貼り付けます。貼り付ける対象が起動しているアプレット自身であるならば、 this キーワードを指定して、次のように add() メソッドを用います。

this.add(btnOk);
this.add(btnCl);

add() java.awt.Container クラスで実装されているものを Applet クラスが継承したものです。コンポーネントを貼り付けられる GUI 部品をコンテナと呼びますが、 Applet もコンテナの一つです。ほかに、次のようなコンテナが存在します:

Panel, ScrollPane, Dialog, Frame

サンプル

基本的な例

ボタンを作成し、追加したアプレットです。

import java.applet.*;
import java.awt.*;

public class ButtonTest extends Applet {
	//フィールドでボタン変数作成
	Button btnOk;
	Button btnCl;

	public void init() {
		//ボタン変数に参照代入
		btnOk = new Button("OK");
		btnCl = new Button("Cancel");

		//ボタンオブジェクトの追加
		this.add(btnOk);
		this.add(btnCl);
	}
}

GUI 部品をフィールドで変数定義したのは、複数のメソッドで利用することが多いからです。

<p><applet code="ButtonTest.class" width="100" height="50">
アプレットが実行できない場合の代替内容。
</applet></p>
アプレットが実行できない場合の代替内容。
アプレット:ButtonTest.class

部品の操作

コンポーネントやコンテナのスーパークラスである Component クラスでは、 GUI 部品で共通に利用できるメソッドがたくさん実装されています。ここで幾つかサンプルで示してみます:

import java.applet.*;
import java.awt.*;

public class ButtonTest2 extends Applet {
	//フィールドでボタン変数作成
	Button btnOk;
	Button btnCl;

	public void init() {
		//ボタン変数に参照代入
		btnOk = new Button("OK");
		btnCl = new Button("Cancel");

		//部品の操作
		//フォントの指定
		btnOk.setFont(new Font("SansSerif", Font.BOLD, 20));
		btnCl.setFont(new Font("Serif", Font.ITALIC, 20));
		//背景色の指定
		btnOk.setBackground(Color.black);
		btnCl.setBackground(Color.white);
		//前景色の指定
		btnOk.setForeground(Color.lightGray);
		btnCl.setForeground(Color.black);

		//ボタンオブジェクトの追加
		this.add(btnOk);
		this.add(btnCl);
	}
}
アプレットが実行できない場合の代替内容。
アプレット:ButtonTest2.class

ここでは、本稿中で Applet に対して用いたことのあるメソッドしか使いませんでしたが、他にもたくさんのメソッドがあります。 API 仕様をご覧になって試されると良いでしょう。



Copyright © 2001 SUGAI, Manabu. All Rights Reserved.