gpt4 book ai didi

java - 图形绘制组件和循环问题

转载 作者:行者123 更新时间:2023-12-02 05:14:10 25 4
gpt4 key购买 nike

我似乎无法弄清楚为什么我的同心圆没有对齐。我的循环对我来说似乎是正确的,测量结果也是正确的,但由于某种原因,最后几个圆圈偏离了中心。这是我遇到的第一个问题。第二个问题是,我似乎无法在每个正方形中打印同心圆。再说一遍,我似乎在我的逻辑中找不到任何问题,但显然有问题。任何对此的帮助都会很棒。

这应该是最终产品

enter image description here

*现在这是我的源代码-ExampleGUI.java *

import javax.swing.*;

public class ExampleGUI {
public static void main(String args []) {


JFrame frame = new JFrame("Example Graphics");
ExamplePanel panel = new ExamplePanel();

frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(3);
frame.pack();
frame.setVisible(true);

}
}

*ExamplePanel.java*

import java.awt.*;

import javax.swing.*;



public class ExamplePanel extends JPanel{

public ExamplePanel() {
setPreferredSize(new Dimension (600, 600));
}

public void paintComponent(Graphics g) {
super.paintComponent(g);


int x = 0;
int x2 = 5;
int y = 500;
int y2 = 505;
int w = 100;
int w2 = 90;
int h = 100;
int h2 = 90;
int i, j, k;

for(j = 1; j < 7; j++) {
x = 0;
x2 = x + 5;

for(i = 1; i < 7; i++) {
if ((i + j) % 2 == 0) {
g.setColor(Color.white);
} else {
g.setColor(Color.yellow);
}
g.fillRect(x, y, w, h);
g.setColor(Color.black);
g.drawRect(x, y, w, h);
g.setColor(Color.green);
g.fillOval(x2, y2, w2, h2);

for(k = 1; k < 7; k++) {
g.setColor(Color.black);
g.drawOval(x2, y2, w2, h2);
x2 = x2 + 5;
y2 = y2 + 5;
w2 = w2 - 10;
h2 = h2 - 10;
}
x = x + w;
x2 = x2 + w2 + 10;

}


x = x + w;

y = y - h;
y2 = (y2 - h2) - 10;
}

}
}

* 这是我的程序运行时的样子。由于某种原因,它看起来不像另一张图片 *

enter image description here

最佳答案

基本上,“螺旋”循环正在修改其他地方所需的变量的状态

我要做的是创建一系列新的变量,初始化为当前状态并修改它们......

                int ix = x2;
int iy = y2;
int ih = h2;
int iw = w2;
for (k = 1; k < 7; k++) {
g.setColor(Color.black);
g.drawOval(ix, iy, iw, ih);
ix = ix + 5;
iy = iy + 5;
iw = iw - 10;
ih = ih - 10;
}

enter image description here

关于java - 图形绘制组件和循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27117586/

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