java/이벤트 처리

Mouse와 MouseMotion 이벤트

appmaster 2019. 5. 22. 22:19

마우스 이벤트(Mouse Event)는 사용자가 마우스 버튼을 누르거나 마우스를 움직일 때 발생한다. 사용자가 버튼을 누르거나 메뉴를 선택할 때는 마우스 이벤트를 처리할 필요가 없다(앞에서 학습한대로 이러한 경우는 액션 이벤트로 처리하면 된다). 하지만 사용자가 화면에 마우스로 그림을 그리게 하려면 마우스 이벤트를 처리하여야 한다.

마우스 버튼의 클릭을 처리하려면 MouseListener를 구현하여서 MouseEvent를 받으면 된다. 마우스가 이동할 때 마우스의 위치를 받으려면 MouseMotionListener를 구현하여서 MouseMotionEvent를 받아야 한다. 마우스에 대한 이벤트를 이렇게 분리하는 이유는 마우스의 움직임을 추적하는 것이 시스템의 오버헤드를 증가시키기 때문이다.

 

 

 

MouseListener 인터페이스

public class MyListener implements MouseListener {
   public void mousePressed(MouseEvent e)   {   } // 마우스가 컴포넌트위에서 눌려지면 호출됨.
   public void mouseReleased(MouseEvent e)  {   } // 마우스가 컴포넌트위에서 떼어지면 호출됨.
   public void mouseEntered(MouseEvent e)   {   } // 마우스 커서가 컴포넌트로 들어가면 호출됨.
   public void mouseExited(MouseEvent e)    {   } // 마우스 커서가 컴포넌트에서 나가면 호출됨.
   public void mouseClicked(MouseEvent e)   {   } // 사용자가 컴포넌트를 클리한 경우에 호출됨.
}

 

 

MouseMotionListener 인터페이스

마우스가 이동할 때 좌표를 받으려면 이 인터페이스를 구현한다.

public class MyClass implements MouseMotionListener {
    public void mouseDragged(MouseEvent e) {     } // 마우스 드래그하면 호출된다.
    public void mouseMoved(MouseEvent e)   {     } // 마우스가 클릭되지 않고 이동하는 경우에 호출됨.

'java > 이벤트 처리' 카테고리의 다른 글

람다식  (0) 2019.05.11
여러 가지 이벤트 처리 방법  (0) 2019.05.11
이벤트란?  (0) 2019.05.11