Java 我的程序使用GraphicsProgram创建重叠的政府对象有什么错误

Java 我的程序使用GraphicsProgram创建重叠的政府对象有什么错误,java,jakarta-ee,graphics,coding-style,Java,Jakarta Ee,Graphics,Coding Style,我正在尝试使用GraphicsProgram创建三个不同颜色的同心圆。然而,这些圆似乎从来都不是同心圆。它们似乎在彼此的两侧被推开,好像试图显示另一个维度。我只是创建和添加GOval对象。也许我错过了什么。有没有办法设置圆圈的透明度 在下面添加代码: import acm.graphics.*; import acm.program.*; import java.awt.*; public class Target extends GraphicsProgram { final

我正在尝试使用GraphicsProgram创建三个不同颜色的同心圆。然而,这些圆似乎从来都不是同心圆。它们似乎在彼此的两侧被推开,好像试图显示另一个维度。我只是创建和添加GOval对象。也许我错过了什么。有没有办法设置圆圈的透明度

在下面添加代码:

import acm.graphics.*;
import acm.program.*;
import java.awt.*;

public class Target extends GraphicsProgram {   

    final static double radiusOuterCircle = 72.0;
    final static double radiusMiddleCircle = 47.0;
    final static double radiusInnerCircle = 22.0;


    public void run() {


        final double centerX = this.getWidth() / 2.0;
        final double centerY = this.getHeight() / 2.0;


        GOval g = makeCircle(centerX, centerY,radiusOuterCircle , Color.RED);
        add(g);


        g = makeCircle(centerX, centerY,radiusMiddleCircle , Color.WHITE);
        add(g);


        g = makeCircle(centerX, centerY,radiusInnerCircle , Color.RED);
        add(g);


    }



    private GOval makeCircle(double centerX, double centerY, double radius, Color color)
    {

        GOval g = new GOval(centerX, centerY, radius, radius);
        g.setFillColor(color);
        g.setFilled(true);

        return g;

    }
}

根据图,四参数GOval构造函数的前两个参数是边界框左上角的坐标。

@Eleke You's right,我给出了圆心的坐标。