-1

私のプログラムでは、パイメニューの周りに描かれたパイメニュー関連の形状からオプションを選択した後。私が欲しいのは、ユーザーがオプションを選択してから画面のどこかをクリックすると、画面に関連する形状が描画されることです。どうすればこれを達成できるか教えてもらえますか?

マウス クリック イベント コード

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();        

    }

パイメニュー
パイメニューの描画

4

1 に答える 1

2

形状を正確に作成する方法はわかりませんが、長方形が役立ちます。円グラフの各部分の座標を計算し、長方形に近似します。例えば、円グラフの出口部分が(20,80)からなら、(20,80)から幅と高さが20ピクセルの長方形を作成します。

Rectangle r1=new Rectangle(int startX,int startY,int width,int height);

また、mouseListener を使用すると、どの長方形が選択されているかを簡単に確認できます。

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

スイッチケースで選択した値を使用し、必要なメソッドを実装します。

于 2012-04-10T21:48:11.873 に答える