2012-04-09 4 views
-1

내 프로그램에서 파이 메뉴에서 옵션을 선택한 후 파이 메뉴 주위에 그린 모양과 관련 있습니다. 내가 원하는 것은 사용자가 옵션을 선택한 다음 화면의 아무 곳이나 클릭하면 관련 모양이 화면에 그려집니다. 아무도 내가 이것을 어떻게 얻을 수 있는지 말해 줄 수 있습니까?

마우스 클릭 이벤트 코드JAVA 마우스 이벤트

public void mouseClicked(MouseEvent e) 
{ 
    double base=x1-s; 
    double prep=as-y1; 
    double angle=Math.atan2(prep, base); 
    angle=((angle*180)/Math.PI); 

    if(angle==0) 
    { 

    } 
    else if(angle>0&&angle<45) 
    { 

     p.mc1=e.getX()+100; 
     p.mc2=e.getY()-25; 
     p.repaint();   

    } 

파이 메뉴
Pie Menu Drawing

+0

내 게시물에 질문이 표시되지 않습니다. 무엇이 문제입니까? –

+0

@HunterMcMillen 이제 예를 들어 원 옵션을 선택한 후 원형이 원형 메뉴를 그립니다. 내가 원하는 것은 사용자가 서클 옵션을 선택한 다음 화면의 아무 곳이나 클릭하면 서클이 그려야한다는 것입니다. – james

+0

* "화면 어디에서든지"* 응용 프로그램 외부 또는 구성 요소의 '그리기 영역'에있는 것을 의미합니까? –

답변

2

정확하게 모양을 만들 수 있지만, 사각형 도움이 될 방법을 확실하지. 원형 차트의 각 부분의 좌표를 계산하고 직사각형으로 근사합니다. 예를 들어 원형 차트의 출구 부분이 (20,80) 일 경우 (20,80), 너비와 높이가 20 픽셀 인 직사각형을 만듭니다.

직사각형 r1 = 새로운 Rectangle (int startX, int startY, int width, int height);

, 당신은 쉽게 스위치 케이스에

public void mousePressed(MouseEvent me){ 
    if(r1.contains(me.getPoint){ 
     selected=1; 
    } 

사용

선택한 값을 사용하여 선택된 사각형을 확인하고 U가 원하는대로의 방법을 구현할 수의 MouseListener를 사용하여.