JAVA鼠标事件

时间:2012-04-09 15:51:05

标签: java graphics mouseevent awt mouseclick-event

在我的程序中,从饼图菜单中选择饼图菜单相关的形状选项。我想要的是当用户选择该选项然后点击屏幕中的任何地方时,相关的形状将在屏幕上绘制。任何人都可以告诉我如何实现这一目标?

鼠标点击事件代码

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
Pie Menu Drawing

1 个答案:

答案 0 :(得分:2)

不确定如何精确制作形状,但矩形会有所帮助。计算饼图每个部分的坐标并将其近似为矩形。例如,如果饼图中的出口部分来自(20,80),则从(20,80)创建一个矩形,并将宽度和高度创建为20像素。创建9个矩形对象,如

  

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;
    }

在开关案例中使用选定的值,并为您想要的任何方法实现这些方法。