|
Listener 인터페이스가 정의하고 있는 메소드들을 아무 기술없이 미리 구현한 일종의 추상 클래스이다.
풀어서 말하면 implements 같은 경우는 사용하지 않는 아래와 같이 사용하지 않는 메소드도 정의해야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.awt.*; import java.awt.event.*; public class TestExam extends Frame implements WindowListener { public TestExam() { this.addWindowListener(this); } public static void main(String[] args) { Frame f=new TestExam(); f.setSize(200,200); f.setVisible(true); } public void windowOpened(WindowEvent e) {} public void windowClosing(WindowEvent e) //사실 이것만 필요 { System.exit(1); } public void windowClosed(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) {} } |
따라서 어답터를 활용해서 사용하지 않는 메소드를 간략하게 처리할 수 있다.
내부클래스 개념으로 구현이 되는데
public TestExam()
{
class Awindow extends WindowAdapter
{
public void WindowClosing(WindowEvent e)
{
System.exit(1);
}
}
this.addWindowListener(new Awindow());
}
위와같이 하면 그래도 복잡한거같으니 아래와 같이줄일 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.awt.*; import java.awt.event.*; public class TestExam extends Frame implements WindowListener { public TestExam() { this.addWindowListener ( new WindowAdapter() //내부클래스에 이름이 없는 구조 { public void windowClosing(windowEvent e) { System.exit(1); } } ); } public static void main(String[] args) { Frame f=new TestExam(); f.setSize(200,200); f.setVisible(true); } } |
반응형
'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글
Java-Swing의 이해 (4) | 2016.06.10 |
---|---|
Java-이미지 삽입하기 (0) | 2016.06.09 |
JAVA-AWT이벤트처리 (0) | 2016.05.24 |
AWT 컴포넌트 - 판넬(Panel) 및 레이아웃 배치방법 (0) | 2016.05.21 |
AWT 컴포넌트의 활용 (0) | 2016.05.20 |