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