2009年5月3日日曜日

Java AWT Buttonコンポーネント

Buttonが押された時のイベントを処理するにはActionListenerを使用します。
package MyPackage1;

import java.awt.*;
import java.awt.event.*;

public class ButtonSample01 {

/*
* エントリポイント
*/
public static void main(String args[]){
new ButtonSample01();
}

Button btn1;

/*
* コンストラクタ
*/
public ButtonSample01(){
//フレームを作成します。
Frame frm = new Frame();
//フレームタイトルを指定します。
frm.setTitle("ButtonSample01");
//フレームサイズを指定します。
frm.setSize(300,300);
//無名クラスを使用してFrameを閉じます。
frm.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//ボタンコンポーネントを作成します。
btn1 = new Button("Button1");
//ボタンのActionListenerを追加します。
btn1.addActionListener(new btn1ActionAdapter());
//フレームにボタンを追加します。
frm.add(btn1);
//フレームを表示します。
frm.setVisible(true);  
}

/*
* btn1のActionListener
*/
private class btn1ActionAdapter implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
btn1.setLabel("Clicked");
}
}
}




無名クラスを利用して下記のように書き換えることもできます。
package MyPackage1;

import java.awt.*;
import java.awt.event.*;

public class ButtonSample02 {
/*
* エントリポイント
*/
public static void main(String args[]){
new ButtonSample02();
}

Button btn1;

/*
* コンストラクタ
*/
public ButtonSample02(){
//フレームを作成します。
Frame frm = new Frame();
//フレームタイトルを指定します。
frm.setTitle("ButtonSample02");
//フレームサイズを指定します。
frm.setSize(300,300);
//無名クラスを使用してFrameを閉じます。
frm.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
//ボタンコンポーネントを作成します。
btn1 = new Button("Button1");
//ボタンのActionListenerを追加します。
btn1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
btn1.setLabel("Clicked");    
}
});
//フレームにボタンを追加します。
frm.add(btn1);
//フレームを表示します。
frm.setVisible(true);  
}
}

0 件のコメント: