package ch05;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JTextArea;
class MyFrame8 extends JFrame implements KeyListener {
// 1. keyAdapter 내부클래스로 정의해서 만들어주세요
private JTextArea area;
public MyFrame8() {
initData();
setInitLayout();
addEventListener();
}
private void initData() {
setTitle("키어댑터");
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
area = new JTextArea();
// myEvent = ~
}
private void setInitLayout() {
setVisible(true);
add(area);
}
private void addEventListener() {
area.addKeyListener(new MyKeyListener());
}
private void display(KeyEvent e) {
int KeyCode = e.getKeyCode();
area.append("KeyCode :" + KeyCode + "/n");
// 38 방향키 위
// 40 방향키 아래
// static 변수
int temp = KeyEvent.VK_UP;
if(KeyCode == KeyEvent.VK_UP) {
System.out.println("방향키 위로 눌러졌습니다.");
}else if (KeyCode == KeyEvent.VK_DOWN) {
System.out.println("방향키 아래로 눌러졌습니다");
}else if(KeyCode == KeyEvent.VK_LEFT) {
System.out.println("방향키가 왼쪽으로 눌러졌습니다");
} else {
System.out.println("방향키가 오른쪽으로 눌러졌습니다.");
}
}
// 내부클래스
private class MyKeyListener extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
display(e);
}
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
}
public class EventListenerEx8 {
public static void main(String[] args) {
new MyFrame8();
}
}