이벤트 처리방식
1. 컴포넌트생성(ex Button)
2. 이벤트 핸들러 작성 (인터페이스 사용)
3. 컴포넌트 + 이벤트 핸들러 연결
//1번
Button btn = new Button("ok");
//2번 - ActionListener 인터페이스를 상속받은 클래스
EventTest e = new EventTest();
//3번
btn.addActionListener(e);
//예제코드
package day14;
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class PanelTest extends Frame implements ActionListener,WindowListener{
Button btn1;
Button btn2;
Button btn3;
Button btn4;
public PanelTest(){
btn1 = new Button("버튼1");
btn2 = new Button("버튼2");
btn3 = new Button("버튼3");
btn4 = new Button("버튼4");
setLayout(new FlowLayout());
add(btn1);
add(btn2);
add(btn3);
add(btn4);
setSize(300,300);
setVisible(true);
//자기 객체를 알려줌 this 사용
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
btn4.addActionListener(this);
addWindowListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Button b = (Button)e.getSource();
if(b==btn1){
setBackground(Color.BLUE);
}else if(b==btn2){
setBackground(Color.CYAN);
}else if(b==btn3){
setBackground(Color.GRAY);
}else if(b==btn4){
setBackground(Color.MAGENTA);
}
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
PanelTest pt = new PanelTest();
}
}
'소프트웨어 > Java' 카테고리의 다른 글
JDBC (0) | 2011.06.07 |
---|---|
AWT 세부적인 컴포넌트 연결방법 (0) | 2011.06.03 |
ObjectInputStream,ObjectOutputStream 클래스 (0) | 2011.06.02 |
String 클래스 객체 생성 (0) | 2011.05.25 |
instanceof 연산자 (0) | 2011.05.25 |