在我的程序中,从饼图菜单中选择饼图菜单相关的形状选项。我想要的是当用户选择该选项然后点击屏幕中的任何地方时,相关的形状将在屏幕上绘制。任何人都可以告诉我如何实现这一目标?
鼠标点击事件代码
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
的
答案 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; }
在开关案例中使用选定的值,并为您想要的任何方法实现这些方法。