| 8. Label / Button |
ここからはコンポーネントの使い方です。14章までは必要なところだけ読んでもかまいません。
| (1) Label はラベルを付けるためのクラスです |
Label label = new Label("Name");
表示したいラベルをコンストラクタの引数に指定します。コンテナに追加する場合は、これまでのボタンの例と同様に add( )を使います。
他のコンポーネントと組み合わせて、入力させたい内容を示したりします。
| (2) 例で何度も見てきた Button です |
Button button = new Button("Push!");
Button クラスにはいくつかメソッドがあります。ボタンのラベルに関するものをあげておくと、
String getLabel()
ボタンのラベルを獲得します。
void setLabel(String label)
ボタンにラベル label を設定します。
このメソッドを使えば、ボタンを作った後でもラベルを変更することができます。
ボタンを押したときには ActionEvent が発生します。このイベントを処理するのは ActionListener インタフェース内に定義されている
void actionPerformed(ActionEvent e) というメソッドです。
イベントに関する情報は以下の通りです。
| イベントの種類 | ボタンを押したとき ActionEvent 発生 |
| イベント処理用メソッド | ActionListener インタフェース内に定義されている void actionPerformed(ActionEvent e) |
| リスナ登録用メソッド | void addActionListener(ActionListener obj) |
次の例題ではボタンを押すたびに、ボタンのラベルの数字が増えていきます。
ButtonTest.java
// ButtonTest.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class ButtonTest extends Applet implements ActionListener {
public void init() {
// コンポーネント作成
Label label = new Label("これを押して!");
Button button = new Button("0");
// レイアウト設定
setLayout(new FlowLayout());
// コンポーネント追加
add(label);
add(button);
// リスナ登録
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
// ボタンのラベルを獲得します
Button b = (Button)e.getSource();
String buttonLabel = b.getLabel();
// ボタンのラベルに1足した数字を設定します
int x = Integer.parseInt(buttonLabel) + 1;
b.setLabel( String.valueOf(x) );
}
}
|
<APPLET CODE=ButtonTest.class width=200 height=100> </APPLET> |
