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)

마우스가 클릭되지 않고 이동하는 경우에 호출.







+ Recent posts