2015-01-19 3 views
1
g.drawString("String",50,50); 

이 그래픽 요소에 MouseListener를 추가하고 싶습니다. 그래픽 요소의 Java MouseListener

public void mouseEntered(MouseEvent e) { 
    saySomething("Mouse entered", e); 
} 

public void mouseExited(MouseEvent e) { 
    saySomething("Mouse exited", e); 
} 

은 그것을 할 수있는 간단한 방법이있다, 아니면 수동으로 요소의 위치를 ​​찾을 수 있나요?

감사

답변

3

제안 :

  • 는, 주위에 문자열을 이동하려면 당신이 JLabel의에 넣어 다음의 MouseListener를 통해 JLabel의 이동 할 수있다.
  • 또는, MouseListener/MouseMotionListener를 사용하여 paintComponent 메소드에서 그려진 문자열을 단순히 움직일 수는 있지만 String을 클릭 한 시점을 인식해야합니다. JLabel.
  • 그래픽을 이동하려면 이미지 인 경우 ImageIcon을 사용하여 이미지를 만들고 JLabel에 넣은 다음 위의 String/JLabel과 동일하게 수행 할 수 있습니다.
  • 또는 paintComponent 메소드에 BufferedImage 스프라이트로 그려 넣을 수 있으며, MouseAdapter를 통해 paintComponent 메소드에서 그 위치를 옮길 수 있습니다.하지만 마우스를 클릭하면 어려운 부분이 인식됩니다. 크기와 위치를 알기 때문에 그렇게하기가 어렵지 않습니다.
  • 또는 Graphics2D 드로잉 인 경우 Shape 구현 객체를 만들고 Shape를 이동할 수 있습니다.

    : 아래의 링크에서 샘플 코드 내 이전 답변에서 찾아보세요 예를 들어