'이벤트 처리'에 해당되는 글 1건

  1. 2009.01.12 이벤트 처리, 내부 클래스
Java2009. 1. 12. 22:37
- 이벤트 처리 메커니즘(마우스 이벤트 경우)
1. 사용자 이벤트 소스에 이벤트 발생
2. JVM: new MouseEvent() -> JVM에 의해 해당 Event객체 생성
3. 해당하는 이벤트에 대한 인터페이스를 구현하는 이벤트 처리 클래스(핸들러)를 implements
4. 이벤트 소스에 이벤트 핸들러 등록 ex) addXXXListener(이벤트 핸들러)

- 액션 이벤트에서 여러개의 이벤트를 처리할 경우 어떤것의 이벤트를 처리할지 알려주어야 한다.
  ex) Object eventSource = e.getSource()

- 이벤트는 frame클래스에서 한꺼번에 구현하는 것보다 따로 클래스를 만들어 구현하는 것이 좋다.

- 내부 클래스의 장점: 내부 클래스는 클래스에 있는 인스턴스 변수, 인스턴스 메소드를 모두 사용할 수 있다.
  외부에서 내부클래스를 사용할수 있다.

- 내부클래스를 외부클래스에서 사용하는 예
  ChatWindow.ExitHandler exiter = new ChatWindow().new ExitHandler();

- 내부 클래스 
1. 멤버 내부 클래스: 클래스 안에 내부 클래스가 있는 경우 ex)ExitHandler
2. 이름있는 지역 내부 클래스: 클래스의 메소드 안에 내부 클래스가 있는 경우
   메모리의 효율적인 관리를 위해서 쓴다. 메소드 안에 클래스가 있을 경우 메소드가 종료시
   메모리 영역에서 없어지기 때문이다. 잘안씀. 메소드 안에만 클래스를 쓰기 때문에 다른 클래스에서 쓸수 없다.
3. 이름없는 지역 내부 클래스: 이벤트 종료처리에 쓰임.


Posted by 위푸