-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像素。创建9个矩形对象,如

矩形 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 回答