對自己定義的類規范化一下,事件和圖形化組件分離出來
定義一個類FrameDemo
定義成員屬性Frame frame
定義成員屬性Botton
定義構造方法FrameDemo()
定義初始化方法init()
初始化方法中,new出來Frame(),參數:String的窗體名稱
調用Frame對象的setBounds()方法,參數:x,y,width,height
調用Frame對象的setLayout()方法,參數:FlowLayout對象
獲取Button對象,new出來,構造參數:String的按鈕文本
調用Frame對象的add()方法,參數:Button對象
調用Frame對象的setVisible()方法,參數:Boolean的true
定義事件方法myEvent()
調用Frame對象的addWindowListener()方法,參數:WindowListener對象,WindowListener是個接口,裡面有七個方法要實現,找實現子類WindowAdapter,匿名內部類重寫windowClosing()方法,傳遞進來參數:WindowEvent對象
調用Button對象的addActionListener()方法,參數:ActionListener對象,這個類是個接口,因此采用匿名內部類實現這個接口,實現方法actionPerformed()方法,傳遞進來參數:ActionEvent對象
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class FrameDemo {
private Frame frame;
private Button button;
public FrameDemo() {
init();
}
/**
* 初始化
*/
public void init(){
frame=new Frame("測試窗體");
frame.setBounds(300, 200, 200, 200);
frame.setLayout(new FlowLayout());
button=new Button("退出");
frame.add(button);
frame.setVisible(true);
addEventAction();
}
/**
* 添加事件
*/
public void addEventAction(){
//按鈕退出
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
/**
* @param args
*/
public static void main(String[] args) {
new FrameDemo();
}
}
