我似乎无法弄清楚为什么我的同心圆不排列。我的循环对我来说看起来是正确的,测量结果是正确的,但由于某种原因,最后几圈是偏离中心的。这是我遇到的第一个问题。第二个问题是,我似乎无法在每个方块中打印同心圆。再次,我似乎无法在我的逻辑中发现任何问题,但显然存在一个问题。任何帮助都会很棒。图形漆组件和回路故障
这应该是最终产品
*现在,这是我的源代码 - 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;
}
}
}
*这是我的程序在运行时的样子。它看起来并不像其他图片出于某种原因*
我想帮助你,但是通过盯着图形来描述。其实我无法从图表中看出你在说什么。 – MeBigFatGuy 2014-11-25 02:05:23
所以...你的问题是什么?简单地说我的代码不起作用不会帮助人们了解您的问题并提供帮助 – 2014-11-25 02:07:08
该图像是我想要的样子,但我的代码看起来不像这样 - 它非常接近。 – KangarooRIOT 2014-11-25 02:07:20