2012-09-27 2 views
0

I 라인 및 기타 구성 요소를 생성하고이 라인이 클릭 할 것 같은 스윙 버튼 이벤트처럼 응답 할 오전 :선이 스윙 버튼으로 작동하는 방법은 무엇입니까?

class CustomLine extends JComponent { 

     private int destx = 100; 
     private int desty = 100; 
     private int startx = 0; 
     private int starty = 0; 

     public void paintComponent(Graphics g) { 
      super.paintComponent(g); 
      g.drawLine(startx, starty, destx, desty); 
     } 

    } 

이 어떻게 작동하는지?

+2

기울어 진 선을 가지려고합니까 또는 수평 및 수직선 만 필요합니까? – davidXYZ

답변

0

수학 문제 일 수 있습니다. 선의 등식을 찾아 점으로부터 거리를 찾아야합니다 (마우스 클릭).
수학은 예를 here

또한 마우스 events 처리를 파악해야합니다 위해, 당신을 위해 수행됩니다.

0

JButton에서 확장하려면 어떨까요? JComponent에서와 마찬가지로 일반 버튼처럼 사용하여 페인트를 오버 라이 브합니다. 테두리를 변경해야하는지 잘 모르겠습니다. 나는 GUI 요소를 변경하는 것에 익숙하지 않지만 어쩌면이 트릭을해야 할 것이다.

+0

이 방법으로 선을 대각선으로 가진 전체 사각형을 클릭 할 수 있습니다. –

+0

이 글을 올린 후 직접 해보 았으며 똑같은 것을 인식했습니다. 너무 쉬울 것 같아요. – Zhedar

관련 문제