package CHAPTER11;

import javax.swing.*;

import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

// KeyListener 인터페이스를 구현하여 모든 키보드 이벤트 처리
class MyKeyListener implements KeyListener {
    @Override
    public void keyTyped(KeyEvent e) {
        System.out.println("Key Typed: " + e.getKeyChar());
    }

    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("Key Pressed: " + e.getKeyCode());
    }

    @Override
    public void keyReleased(KeyEvent e) {
        System.out.println("Key Released: " + e.getKeyCode());
    }
}
public class C11_10_SelfTest_KeyListener extends JFrame {
	public C11_10_SelfTest_KeyListener() {
		setTitle("KeyListener Example");
		setSize(300, 150);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
        setLayout(new FlowLayout()); // 레이아웃 설정 추가
        
        JTextField textField = new JTextField(20);

        // MyKeyListener 클래스의 객체를 이벤트 리스너로 등록
        textField.addKeyListener(new MyKeyListener());
        textField.requestFocusInWindow(); // 포커스 설정 추가
        add(textField);
        
        setVisible(true);
	}
    public static void main(String[] args) {
        new SelfTest_KeyListener();
    }
}