2011-03-08 101 views
0

背景:有一點背景信息,這發生在Jarame上的JPanel(PiePanel)中。在PiePanel上,我添加了一個組件,該組件繪製類Pie的對象,擴展Arc2D.Double並創建PIE形式的弧。基本上我正在製作餅圖。Arc2D.Double包含(double x,double y)方法不起作用

我在餡餅類製作常數用於使電弧爲: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 270,以及i啓動每個餡餅有x,y = 20和h,w = 240的盒子,餅圖的中間應該是(140,140)。由於餡餅'a'是120度,所以座標150,130肯定應該在餡餅a中,但它返回假!

看來還a.toString()給出PieChartSlice @ 0

+0

你可以發表一個[SSCCE](http://www.sscce.org),只用'Arc2D.Double'類來演示問題嗎? – 2011-03-08 07:25:17

+0

我的一個好友向我展示了我是一個多麼白癡的人,展現在人們身上;) – user649074 2011-03-08 07:25:48

+0

@user:如果有人遇到類似問題,你能否發佈解決方案? – 2011-03-08 08:22:25

回答

0

我只是有這個問題,雖然我不能提供明確的答案OP的問題,沒有看到他們的代碼,我沒有想出一個解決方案我的問題相同(弧內顯然是一個點沒有被「看到」。)

當調用構造函數

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

使用Arc2D.PIEint type。其他兩種類型不適合我。

相關問題