JAVA鼠标事件

JAVA鼠标事件,java,graphics,mouseevent,awt,mouseclick-event,Java,Graphics,Mouseevent,Awt,Mouseclick Event,在我的程序中,从“饼图”菜单中选择选项后,将围绕“饼图”菜单绘制相关形状。我想要的是,当用户选择该选项,然后单击屏幕中的任何位置时,相关形状将在屏幕中绘制。有人能告诉我如何才能做到这一点吗? 鼠标单击事件代码 馅饼菜单 不知道如何精确地制作形状,但矩形会有所帮助。计算饼图各部分的坐标,并将其近似为矩形。例如,如果饼图中的退出部分是20,80,则从20,80创建一个矩形,宽度和高度为20像素 矩形r1=新矩形int startX,int startY,int WITH,int height 使用m

在我的程序中,从“饼图”菜单中选择选项后,将围绕“饼图”菜单绘制相关形状。我想要的是,当用户选择该选项,然后单击屏幕中的任何位置时,相关形状将在屏幕中绘制。有人能告诉我如何才能做到这一点吗? 鼠标单击事件代码

馅饼菜单

不知道如何精确地制作形状,但矩形会有所帮助。计算饼图各部分的坐标,并将其近似为矩形。例如,如果饼图中的退出部分是20,80,则从20,80创建一个矩形,宽度和高度为20像素

矩形r1=新矩形int startX,int startY,int WITH,int height

使用mouseListener,您可以使用


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

我在您的帖子中没有看到问题,您有什么问题?@HunterMcMillen现在,例如,在选择圆选项后,圆将围绕饼图菜单绘制。我想要的是,当用户选择圆圈选项,然后单击屏幕中的任何位置时,圆圈应该在那里绘制。屏幕中的任何位置是指应用程序之外,还是仅在组件的“绘图区域”中?@andrewhompson仅在组件的绘图区域中。
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();        

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