Java Arc2D.Double contains(双x,双y)方法不起作用

Java Arc2D.Double contains(双x,双y)方法不起作用,java,user-interface,jpanel,contains,geometric-arc,Java,User Interface,Jpanel,Contains,Geometric Arc,背景:一点背景信息,这是在JFrame上的JPanel内部的JPanel(PiePanel)上发生的。在PiePanel上,我添加了一个组件,该组件从扩展Arc2D.Double的类Pie中绘制对象,并以Pie形式创建圆弧。基本上我在做饼图 我在Pie类中创建了常数,用于生成弧:x=20,y=20,w=240,h=240 public TestComponent() { setPreferredSize(new Dimension(280,270)); pies = new A

背景:一点背景信息,这是在JFrame上的JPanel内部的JPanel(PiePanel)上发生的。在PiePanel上,我添加了一个组件,该组件从扩展Arc2D.Double的类Pie中绘制对象,并以Pie形式创建圆弧。基本上我在做饼图

我在Pie类中创建了常数,用于生成弧:x=20,y=20,w=240,h=240

public TestComponent()  {
    setPreferredSize(new Dimension(280,270));
    pies = new ArrayList<PieChartSlice>();
    Pie a = new Pie(0, 120, Color.black);
    pies.add(a);
    System.out.println(a.contains(150.0,130.0));
    }
publictestcomponent(){
设置首选尺寸(新尺寸(280270));
pies=新的ArrayList();
饼图a=新饼图(0,120,颜色为黑色);
加入(a);
系统输出println(a.contains(150.0130.0));
}
因为尺寸是280乘270,我以x,y=20和h,w=240开始每个pies边界框,piechart的中间应该是(140140)。由于饼图“a”是120度,坐标150130肯定应该在饼图a中,但它返回false


似乎a.toString()也给出了PieChartSlice@0

我刚刚遇到了这个问题,虽然我无法在没有看到他们的代码的情况下给出OP问题的最终答案,但我确实找到了解决我相同问题的方法(弧内的一个点显然没有被“看到”。)

调用构造函数时

Arc2D.Double(double x, double y, double w, double h, double start, double extent,
             int type)

对于
int-type
,使用
Arc2D.PIE
。另外两种类型对我不起作用

也许你可以展示馅饼类的代码?你可以发布一个只使用
Arc2D.Double
类来演示问题的帖子吗?我的一个朋友向我展示了我是多么的白痴,向大家展示了;)@用户:如果有人遇到类似问题,你能发布解决方案吗?