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> |