가끔 사용자가 입력한 키보드의 버튼에 따라 프로그램을 처리해야할 때가 있다.
다음은 키보드가 가지고 있는 키 코드이다.
숫자 | 알파벳 | 기능키 | 방향키 | |||
0 = 48 | A = 65 | N = 78 | a = 97 | A = 110 | Backspace = 8 | 왼 = 37 |
1 = 49 | B = 66 | O = 79 | b = 98 | B = 111 | Tab = 9 | 위 = 38 |
2 = 50 | C = 67 | P = 80 | c = 99 | C = 112 | Enter = [CR=13, LF= 10] | 오 = 39 |
3 = 51 | D = 68 | Q = 81 | d = 100 | D = 113 | Shift = 16 | 아래=40 |
4 = 52 | E = 69 | R = 82 | e = 101 | E = 114 | Ctrl = 17 | |
5 = 53 | F = 70 | S = 83 | f = 102 | F = 115 | Alt = 18 | |
6 = 54 | G = 71 | T = 84 | g = 103 | G = 116 | ESC = 27 | |
7 = 55 | H = 72 | U = 85 | h = 104 | H = 117 | Space = 32 | |
8 = 56 | I = 73 | V = 86 | I = 105 | I = 118 | PAGEUP = 33 | |
9 = 57 | J = 74 | W = 87 | j = 106 | J = 119 | PAGEDN = 34 | |
K = 75 | X = 88 | k = 107 | K = 120 | |||
L = 76 | Y = 89 | l = 108 | L = 121 | |||
M = 77 | Z = 90 | m = 109 | M = 122 |
엔터는 캐리지리턴(13)과 라인피드(10) 2개가 있다.
만약 키보드에서 a를 입력하고 엔터를 누르면 a키의 97과 캐리지 리턴 13 그리고 라인 피드 10이 차례로 읽혀진다. 그래서 엔터 조건을 걸러면 이 2개를 동시에 걸어줘야한다
이것을 이용한 간단한 예제는
int keyCode = 0;
if(keyCode != 13 && keyCode != 10
{
//처리 로직
}
과 같이 하면된다
'java' 카테고리의 다른 글
자바 향상된 for문(foreach문) (0) | 2017.08.10 |
---|---|
자바 메모리 영역 (0) | 2017.08.10 |
자바 char 타입 및 아스키, 유니코드, 타입변환 (0) | 2017.08.08 |
자바 동작 순서 (0) | 2017.08.08 |
자바의 특징 (0) | 2017.08.08 |