반응형
package javaapplication15; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; class KeyListenerEx extends JFrame{ JPanel contentPane = new JPanel();//컨텐트팬으로 사용할 패널 JLabel [] keyMessage;//3개의 메세지를 출력할 레이블 컴포넌트 배열 KeyListenerEx(){ this.setTitle("KeyListener 예제"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setContentPane(contentPane); contentPane.addKeyListener(new MyKeyListener()); //레이블 배열을 3개 생성하고 각 레이블 컴포넌트를 생성 keyMessage = new JLabel[3]; keyMessage[0]=new JLabel(" getKeyCode() "); keyMessage[1]=new JLabel(" getKeyChar() "); keyMessage[2]=new JLabel(" getKeyCText() "); //3개의 레이블 컴포넌트를 컨텐트패넹 부착 for(int i=0; i<keyMessage.length; i++){ contentPane.add(keyMessage[i]); keyMessage[i].setOpaque(true); keyMessage[i].setBackground(Color.CYAN); } this.setSize(300,150); this.setVisible(true); //컨텐트팬이 키 입력을 받을 수 있도록 포커스 강제 지정 contentPane.requestFocus(); } //키 리스너 구현 class MyKeyListener implements KeyListener{ @Override public void keyTyped(KeyEvent e) { System.out.println("KeyTyped"); } @Override public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); char keyChar = e.getKeyChar(); keyMessage[0].setText(Integer.toString(keyCode)); keyMessage[1].setText(Character.toString(keyChar)); keyMessage[2].setText(e.getKeyText(keyCode)); System.out.println("KeyPressed"); } @Override public void keyReleased(KeyEvent e) { System.out.println("KeyReleased"); } } } public class JavaApplication15 { public static void main(String[] args) { new KeyListenerEx(); } }
<결과>
2016/10/23 - [자바] - 자바 소스코드: 마우스 클릭 시 hello위치 바꾸기
2016/10/22 - [자바] - 자바 소스코드: 버튼 클릭시 문자랑 타이틀 바꾸기
2016/10/12 - [자바] - 자바 소스코드: MouseListener(마우스 올릴 시 색깔 바꾸기)
#자바 #자바 소스코드 #입력된 키 알기 #KeyListener
반응형
'자바' 카테고리의 다른 글
자바 소스코드: 상하좌우 키를 눌러 텍스트 움직이기 (0) | 2016.10.23 |
---|---|
자바 소스코드: 입력된 키 출력하기 (0) | 2016.10.23 |
자바 소스코드: 마우스 클릭 시 hello위치 바꾸기 (0) | 2016.10.23 |
자바 소스코드: 버튼 클릭시 문자랑 타이틀 바꾸기 (0) | 2016.10.22 |
자바 소스코드: MouseListener(마우스 올릴 시 색깔 바꾸기) (0) | 2016.10.12 |