키보드를 아무거나 눌렸을 때, 해당 키의 키 코드 출력 코드 작성하기
- 어떠한 키를 입력하면 해당 키 코드와 키가 출력됨
- Frame을 상속받고, KeyListener을 인터페이스로 받음
- JTextArea를 사용하여 텍스트 입력 영역을 만듦
- e.getKeyCode, e.getKeyChar 메소드를 사용하여 keycode와 keychar를 리턴함
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JTextArea;
class MyKeyEvent extends JFrame implements KeyListener{
JTextArea area; //창에 텍스트 영역을 만들기위한 변수 선언.
public MyKeyEvent() {
initData();
setInitLayout();
addEventListener();
}
private void initData() {
setTitle("keyBoard Event!");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
area = new JTextArea(); //텍스트 입력 변수의 객체 생성
}
private void setInitLayout() {
setVisible(true);
this.add(area); //창에 텍스트 입력을 추가
}
private void addEventListener() {
area.addKeyListener(this); //텍스트 입력 부분에 키보드의 입력을 감지하도록 함
}
//////////////////////////////////////////////////
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
int keycode = e.getKeyCode(); //각 키의 키코드를 변수에 대입
char keychar = e.getKeyChar(); //각 키의 문자 혹은 숫자를 변수에 대입
System.out.print("keycode : " + keycode + " => " + keychar);
System.out.println();
}
@Override
public void keyReleased(KeyEvent e) {
}
}
///////////////////////////////////////////////////////
public class Key {
public static void main(String[] args) {
new MyKeyEvent(); //객체 생성하여 창을 실행하도록 함
}
}
이 코드는 단순히 키보드의 키를 입력하면 해당 키를 키 코드로 출력해주는 코드입니다.
다음 글에서는 창에 배경이미지와 캐릭터이미지를 추가하고, 키보드의 방향키를 사용해 캐릭터를 움직이게 하는 코드를 작성하겠습니다.
2021.07.15
'JAVA > GUI' 카테고리의 다른 글
[자바] 콜백(CallBack) - JFrame (0) | 2021.07.19 |
---|---|
[자바] JFrame 이미지 추가하기 - 슈퍼마리오(1) (0) | 2021.07.17 |
[자바] JPanel (0) | 2021.07.15 |
[자바] JButton 만들기 + 클릭 이벤트 (0) | 2021.07.14 |
[자바] Login 화면 구성하기 (0) | 2021.07.13 |