package ch05;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JTextArea;
class MyFrame7 extends JFrame implements KeyListener{
private JTextArea area;
public MyFrame7() {
initData();
setInitLayout();
addEventListener();
}
private void initData() {
setTitle("키이벤트연습");
setSize(500,500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
area = new JTextArea();
}
private void setInitLayout() {
setVisible(true);
add(area);
}
private void addEventListener() {
area.addKeyListener(this);
}
private void display(KeyEvent e) {
int KeyCode = e.getKeyCode();
area.append("KeyCode :" + KeyCode + "/n");
}
//문자를 눌렀을 떄 호출, 문자키에만 반응
@Override
public void keyTyped(KeyEvent e) {
// display(e); 이렇게도 사용할수있다.
}
//키보드를 눌렀을 때 모든키보드에 반응
@Override
public void keyPressed(KeyEvent e) {
display(e);
// char c = e.getKeyChar(); //키보드를 눌렀을때 캐릭터값을 받는다.
// int keycode = e.getKeyCode();
//
// System.out.println("C : " + c);
// System.out.println("KeyCode : " + keycode);
//
//// area.setText(keycode + "");//콘솔창에 친거 메모리에 올라가도록
// area.append("keycode : "+keycode + "\n")//한칸씩 밑으로 내려오게
}
//키보드를 뗏을 때 호출, 모든 키보드에 반응합니다.
@Override
public void keyReleased(KeyEvent e) {
}
}
public class EventListenerEx7 {
public static void main(String[] args) {
new MyFrame7();
}
}