2016-11-26 42 views
1

我想准确地在面板内绘制一个椭圆的周界内,类似于绘制一个椭圆恰好一个AWT面板

enter image description here

@Override 
    public void paint(Graphics g) { 
     super.paint(g); 
      g.drawOval(x,y,this.getHeight(), this.getHeight()); 
     } 
    } 

x:要绘制的椭圆的左上角的x坐标。 y:要绘制的椭圆的左上角的y坐标。

那么xy应该是什么?

回答

2

xy都应该为0,因为这将椭圆的左上角设置在JPanel的左上角。此外,该行:

g.drawOval(x,y,this.getHeight(), this.getHeight()); 

实际上应该是

g.drawOval(x, y, this.getWidth(), this.getHeight()); 

,以确保椭圆形的正确绘制;否则,无论JPanel的大小如何,它都将是圆形的。

+0

工作。由于椭圆形是无角的形状,我对第一个和第二个参数感到困惑。 –

+0

如果能帮助解决问题,请[接受答案](http://meta.stackexchange.com/a/5235/155831)。用于检查JavaDocs的+1。 –