gpt4 book ai didi

java - 调用 GOval 方法

转载 作者:行者123 更新时间:2023-12-01 15:04:25 25 4
gpt4 key购买 nike

我不知道我是否正确调用了 GOval 方法。我的目标是创建 Target 公司 Logo ,但有 5 个圆圈。我应该将目标符号置于窗口的中心,并由命名常量控制圆圈的数量和尺寸。

我从 GOval bigCircle 开始,这是我最外面的红色填充圆圈。我是否正确合并了 createFilledCircle 方法?

到目前为止,我只有三个圆圈,因为我们正在构建之前的作业,而该作业只有三个圆圈。另外,N_CIRCLE 如何融入图片?

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


public class TargetSymbol extends GraphicsProgram {

public void run(){

double x = getWidth() / 2;
double y = getHeight() / 2;




GOval bigCircle = createFilledCircle(x - OUTER_RADIUS, y - OUTER_RADIUS, 2 * OUTER_RADIUS, 2 * OUTER_RADIUS);
createFilledCircle.setFilled(true);
createFilledCircle.setColor(Color.RED);
add(createFilledCircle);

GOval middleCircle = new GOval(100, 100, 200, 200);
middleCircle.setFilled(true);
middleCircle.setColor(Color.WHITE);
add(middleCircle);



GOval innerCircle = new GOval(155, 150, 100, 100);
innerCircle.setFilled(true);
innerCircle.setColor(Color.RED);
add(innerCircle);






}
private GOval createFilledCircle(double x, double y, double r, Color color){
GOval circle = new GOval( x-r, x-y, 2 * r, 2 * r);
circle.setColor(color);
circle.setFilled(true);
return circle;


}


private static final int N_CIRCLE = 5;
private static final double OUTER_RADUS = 75;
private static final double INNER_RADIUS = 10;

最佳答案

我想说你的想法是正确的。

GOval bigCircle = createFilledCircle(x - OUTER_RADIUS, y - OUTER_RADIUS, 2 * OUTER_RADIUS, 2 * OUTER_RADIUS);
createFilledCircle.setFilled(true);
createFilledCircle.setColor(Color.RED);

没有名为 createFilledCircle 的变量,因此您无法将其设置为填充,或设置其颜色。我们可以将其更改为 bigCircle,但这会是多余的,因为您已经在 createFilledCircle() 方法中设置了这些值。

我只是建议您完全摆脱这两个部分,留下:

GOval bigCircle = createFilledCircle(x - OUTER_RADIUS, y - OUTER_RADIUS, 2 * OUTER_RADIUS, 2 * OUTER_RADIUS);

N_CIRCLE,我只能假设代表圆圈的数量。例如,如果 N_CIRCLE 为 5,则外圈为红色,内圈为白圈,白圈内为红圈,等等。

因此,您希望使用一个循环来创建相对于您拥有的圆圈数量 (N_CIRCLE) 的圆圈。

例如

for(int a = 0; a < N_CIRCLE; a++)
{
Create a circle that is smaller than the outer one
Set it's color/fill etc.
}

关于java - 调用 GOval 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com