자바

자바 소스코드: 입력된 키 알기

드린 2016. 10. 23. 20:21
반응형
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

반응형