背景:一些背景信息,这是发生在 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));
}
由于尺寸是 280 x 270,并且我以 x,y = 20 和 h,w = 240 开始每个饼的边界框,因此饼图的中间应该是 (140,140)。由于 Pie 'a' 是 120 度,坐标 150,130 肯定应该在 Pie a 中,但它返回 false!
似乎 a.toString() 给了 PieChartSlice@0