▶ ActionEvent
- 컴포넌트에 구체적인 동작이 일어났을 때 발생하는 이벤트로 버튼을 클릭하는 동작이 있다.
- ActionEvent를 받기 위해서는 ActionListener 인터페이스를 구현하여야 한다.
ActionEvent 클래스 |
||
생성자 |
ActionEvent(Object source, int id, String command) |
매개변수로 컴포넌트의 이벤트 소스(source)와 이벤트 동작을 식별하는 id값, 이벤트 동작을 나타내는 command값을 받아 초기화한다. |
ActionEvent(Object source, int id, String command, int modifiers) |
ActionEvent의 구체적인 수정키를 추가로 초기화한다. |
|
ActionEvent(Object source, int id, String command, long when, int modifiers) |
ActionEvent의 구체적인 수정키들과 시간을 추가로 초기화한다. | |
필드 (변화 키) |
public static final int SHIFT_MASK |
이벤트가 일어나는 동안 쉬프트 키(Shift)가 눌러짐을 나타냄 |
public static final int CTRL_MASK |
컨트롤 키(Ctrl)가 눌러짐을 나타낸다. |
|
public static final int META_MASK |
메타 키(Meta)가 눌러짐을 나타낸다. |
|
public static final int ALT_MASK |
알트 키(Alt)가 눌러짐을 나타낸다. |
|
public static final int ACTION_FIRST |
이벤트 동안에 이용되는 id의 범위 중 첫번째 순서 |
|
public static final int ACTION_LAST |
이벤트 동안에 이용되는 id의 범위 중 마지막 순서 |
|
public static final int ACTION_PERFORMED | 이벤트 동작이 발생했다는 것을 나타냄 | |
메소드 | String getActionCommand() | 해당 동작과 관련있는 커맨드 문자열을 반환한다. |
int getModifiers() | ActionEvent가 일어나는 동안 변화 키들을 리턴한다. | |
long getWhen() | ActionEvent가 일어났을 때의 시간을 반환한다. | |
String paramString() | ActionEvent를 식별하는 문자열을 반환한다. |
ActionListener 인터페이스 |
|
메소드 |
설명 |
void actionPerformed(ActionEvent e) { } | ActionEvent의 동작들을 처리한다. |
▶ KeyEvent
- 사용자가 키보드를 이용하여 입력을 하는 경우에 발생한다.
- KeyEvent가 발생하려면 컴포넌트가 반드시 키보드 포커스를 가지고 있어야 한다. 키보드 포커스를 얻으려면 requestFocus() 라는 메소드를 사용한다. 또한 KeyEvent 클래스는 InputEvent 클래스를 상속받는다.
-KeyEvent를 받기 위해서는 KeyListener를 구현하여야 한다.
KeyListener 인터페이스 | |
메소드 | 설명 |
void KeyTyped(KeyEvent e) { } | 사용자가 글자를 입력했을 경우에 호출 |
void KeyPressed(KeyEvent e) { } | 사용자가 키를 눌렀을 경우에 호출 |
void KeyReleased(KeyEvent e) { } | 사용자가 키에서 손을 떼었을 경우에 호출 |
KeyEvent 클래스 | |
메소드 | 설명 |
int getKeyChar() { } | KeyEvent에 들어있는 글자(유니코드)를 반환한다. |
int getKeyCode() { } | KeyEvent에 들어있는 키코드(keycode)를 반환한다. 키코드란 글자가 아니라 키보드 자판의 각각의 키를 가리키는 상수이다. 예를 들어, Escape 키의 키코드는 VK_ESCAPE로 정의되어 있다. |
boolean isActionKey() { } | 이벤트를 발생시킨 키가 액션 키이면 true를 반환한다. 액션 키란 Cut, Copy, Paste, Page Up, Caps Lock, 화살표와 function 키를 의미한다. |
InputEvent 클래스 | |
메소드 | 설명 |
int getID() { } | 이벤트의 타입을 반환한다. MouseEvent.MOUSE_PRESSED, MouseEvent.MOUSE_RELEASED MouseEvent.MOUSE_CLICKED |
Component getComponent { } | 이벤트를 일으킨 컴포넌트를 반환한다. getSource()를 사용하여도 된다. 단, getSource()로 얻은 것은 해당 컴포넌트로 강제 타입변환 해주어야 한다. |
int getWhen() { } | 이벤트가 발생한 시각을 반환한다. |
boolean isAltDown() { } boolean isControlDown() { } boolean isMetaDown() { } boolean isShiftDown() { } | 이벤트가 발생한 시각에 키보드의 수식키들의 상태를 반환한다. |
▶ MouseEvent & MouseMotionEvent
- Mouse 이벤트는 사용자가 마우스를 조작하는 경우에 발생한다.
- MouseEvent는 많은 메소드를 InputEvent 클래스에서 상속받는다. InputEvent 클래스의 메소드도 사용할 수 있다.
- MouseEvent를 받기 위해서는 MouseListener를 구현하여야 한다.
MouseListener 인터페이스 | |
메소드 | 설명 |
void mouseClicked(MouseEvent e) | 사용자가 컴포넌트를 클릭한 경우에 호출된다. |
void mouseEntered(MouseEvent e) | 마우스 커서가 컴포넌트로 들어가면 호출된다. |
void mouseExited(MouseEvent e) | 마우스 커서가 컴포넌트에서 나가면 호출된다. |
void mousePressed(MouseEvent e) | 마우스가 컴포넌트 위에서 눌려지면 호출된다. |
void mouseReleased(MouseEvent e) | 마우스가 컴포넌트 위에서 떼어지면 호출된다. |
MouseEvent 클래스 | |
메소드 | 설명 |
int getClickCount() | 빠른 연속적인 클릭의 횟수를 반환한다. |
int getX() int getY() Point getPoint() | 이벤트가 발생했을 당시의 (x, y)위치를 반환한다. 위치는 컴포넌트에 상대적이다. |
int getXOnScreen() int getYOnScreen() int getLocationOnScreen() | 절대 좌표값 (x, y)을 반환한다. 이들 좌표값은 가상 화면에 상대적이다. |
int getButton() | 어떤 마우스 버튼의 상태가 변경되었는지를 반환한다. NOBUTTON, BUTTON1, BUTTON2, BUTTON3 중의 하나이다. |
- MouseEvent로 마우스의 움직임을 추적하는 것은 시스템적으로 영향을 끼치므로 마우스가 이동하는 경우에만 따로 이벤트를 받도록 한다.
MouseMotionListener 인터페이스 | |
메소드 | 설명 |
void mouseDragged(MouseEvent e) | 마우스로 드래그하면 호출된다. |
void mouseMoved(MouseEvent e) | 마우스가 클릭되지 않고 이동하는 경우에 호출. |
'Programming Language > JAVA' 카테고리의 다른 글
21. JComponent Class - 스윙의 최상위 컴포넌트 클래스 (0) | 2017.05.26 |
---|---|
20. ComponentEvent, ContainerEvent, FocusEvent, WindowEvent - 컴포넌트 이벤트, 컨테이너 이벤트, 포커스 이벤트, 윈도우 이벤트 (0) | 2017.05.26 |
18. GUI(Swing) Event and Event Listener - 이벤트의 종류와 이벤트 처리 방법(리스너) (0) | 2017.05.26 |
17. Graphics Programming - 그래픽 프로그래밍 (0) | 2017.05.24 |
16. LayoutManager - 배치관리자 (0) | 2017.05.24 |