2017-03-28 2 views
1

Java 응용 프로그램을 만들고 모든 프레임에 Jframe에 상대적인 마우스 위치를 가져와야합니다. MouseAdapter에서 확장되는 클래스를 작성하고 있지만 필요할 때 MouseEvent에 액세스 할 수 없습니다.Jframe에 상대적인 Java에서 마우스 위치를 계속 가져옴

감사합니다.

+1

그리고 당신은 정보가 필요 주석 라인 코드 ... –

+0

당신이 모든 시스템 프레임 또는 이제까지 자바 프레임의 위치를 ​​알고 싶어 의미합니까? – MadProgrammer

답변

1

스윙 타이머 사용 : JFrame의 왼쪽 위 가장자리까지 상대 거리를 인쇄합니다.

public static void main(String[] args) { 
    JFrame frame = new JFrame("Frame"); 
    frame.setSize(500, 500); 
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
    frame.setResizable(false); 
    frame.setVisible(true); 

    Timer timer = new Timer(66, new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent e) { 
      Point p = MouseInfo.getPointerInfo().getLocation(); 
      p = new Point(p.x - frame.getLocation().x, p.y - frame.getLocation().y); 
      System.out.println("Mouse: " + p); 

     } 
    }); 
    timer.start(); 

} 
관련 문제