我正在尝试使用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;
}
}
最佳答案
根据manual,四个参数GOval构造函数的前两个参数是边界框左上角的坐标。
关于java - 使用GraphicsProgram创建重叠的GOval对象的程序出现了什么错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8948288/