2010-06-18 2 views
1

Java의 Windows 이벤트를 처리하는 방법에 대해 다른 질문을하고 싶습니다. 구체적으로 Windows XP 및 Vista에서 마우스 이동 또는 마우스 클릭과 같은 이벤트를 처리하는 방법을 알고 싶습니다. 내 애플리케이션이 비활성 상태이거나 숨겨져 있어도 내 애플리케이션의 내 맞춤 동작을 이러한 이벤트에 연결하려고합니다.Java에서 Windows XP 또는 VISTA 이벤트를 처리하는 방법

모든 도움을 주실 수 있습니다!

답변

1

예를 들면 다음과 같습니다.

addMouseListener() 

를 호출하여 어떤 JComponent의에 MouseListener를 대신있는 MouseListener

  • 으로 사용할 수있는 다른 EventListeners를이 모든 KeyListener
  • 의 WindowListener
  • 있는 ComponentListener
  • 있는 ContainerListener
  • 의 FocusListener
  • 있습니다
  • ... 그리고 더 많은

당신이 완전히의 MouseListener 인터페이스를 구현하거나 당신이 그나마 있도록 단지마다 하나의 메소드를 구현해야, 메소드 스텁이있는 convienience 클래스 MouseAdapter를 사용할 수 있습니다 here for an detailed explanation

확인 .

확인이 샘플 :

public class MyFrame extends JFrame { 
    private MouseListener myMouseListener; 

     public MyFrame() { 
      this.setSize(300, 200); 
      this.setLocationRelativeTo(null); 
      // create the MouseListener... 
      myMouseListener = new MouseAdapter() { 
       @Override 
       public void mouseClicked(MouseEvent e) { 
        System.out.println("clicked button " + e.getButton() + " on " + e.getX() + "x" + e.getY()); // this gets called when the mouse is clicked. 
       } 
      }; 
      // register the MouseListener with this JFrame 
      this.addMouseListener(myMouseListener); 
     } 

     public static void main(String[] args) { 
      SwingUtilities.invokeLater(new Runnable() { 
       @Override 
       public void run() { 
        MyFrame frame=new MyFrame(); 
        frame.setVisible(true); 
       } 
      }); 
     } 
    } 
관련 문제