IT

이벤트 처리방식
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
Posted by sinpk