如何使用中心作为参考使用Graphics#fillOval在中心绘制一个随机圆

时间:2016-10-09 13:27:15

标签: java eclipse jframe geometry jpanel

目前,当点击一个按钮时,该圆圈将在g.fillOval(getWidth()/2 - 50, getHeight()/2 - 50, radius, radius);

处绘制

我在这里:

  private class DrawPanel extends JPanel {
    private int radius;

    @Override
    public void paintComponent(Graphics g) {
      super.paintComponent(g);
      g.fillOval(getWidth()/2 - 50, getHeight()/2 - 50, radius, radius);
    }

1 个答案:

答案 0 :(得分:1)

你的问题不是很清楚,你发布的代码太多了,所以让我概括一下。

当您使用Graphics#fillOval绘制圆圈时,如果椭圆形刻入方形的左上角,则为参考点。

因此,如果您想使用中心作为参考,给定半径r,您应该绘制:

(xCenter - r, yCenter - r, r*2, r*2)

此外,由于它是一个圆圈,请考虑使用带有Antialising的Graphics2D。 这里是文档:

https://docs.oracle.com/javase/tutorial/2d/advanced/quality.html