2012-04-09 12 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)からのものである場合、

矩形R1 =様20個のpixels.Create 9つの矩形オブジェクトとして(20,80)から矩形と幅と高さを作成します新しいRectangle(int startX、int startY、int width、int height);

とのMouseListenerを使用して、簡単にスイッチケースで選択した値を使用し、uがしたいものは何でもするためのメソッドを実装

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

を使用することによって選択された四角形をチェックすることができます。

関連する問題