package _swing2;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class MykeyEventFrame extends JFrame implements KeyListener {
private final int FRAME_SIZE = 500;
private JTextArea textArea;
public MykeyEventFrame() {
initData();
setInitLayout();
addEventListener();
}
private void initData() {
setSize(FRAME_SIZE, FRAME_SIZE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false); // 프레임 사이즈 조절 불가
textArea = new JTextArea();
}
private void setInitLayout() {
setLayout(new BorderLayout());
add(textArea);
setVisible(true);
}
private void addEventListener() {
textArea.addKeyListener(this); // 다형성
}
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("KeyCode : " + e.getKeyCode());
if(e.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("화살표 위 이벤트 발생");
} else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
System.out.println("화살표 아래 이벤트 발생");
} else if(e.getKeyCode() == KeyEvent.VK_LEFT) {
System.out.println("화살표 왼쪽 이벤트 발생");
} else if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
System.out.println("화살표 오른쪽 이벤트 발생");
}
}
// 메인 함수 테스트 코드 작성
public static void main(String[] args) {
new MykeyEventFrame();
}
}
방향버튼을 누르면 확인가능
'swing' 카테고리의 다른 글
(JAVA)Swing (Thread 활용) (1) | 2025.05.01 |
---|---|
(java)로또 게임 만들어 보기 - 10 (0) | 2025.04.30 |
(JAVA) 버튼으로 무지개 색을 입혀보자 (0) | 2025.04.29 |
(JAVA)이미지 겹치는 방법 - 7 (0) | 2025.04.29 |
(JAVA)swing 이미지 올려보기 - 6 (1) | 2025.04.29 |