본문 바로가기
자바

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

by 드린 2016. 10. 23.

목차

    반응형
    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

    반응형