我试图在java中以特定模式绘制8个红色方块。
我期待这样的输出: Alteration.java
这是我到目前为止所尝试的:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Alteration {
private int xGrid;
private int yGrid;
public static void main(String[] args) {
Alteration a = new Alteration();
a.display();
}
public void display() {
JFrame frame = new JFrame("Alteration");
frame.setBackground(Color.WHITE);
Background bg = new Background();
frame.setSize(400, 200);
frame.getContentPane().add(bg);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
for (int lN = 0; lN < 2; lN++) {
for (int slN = 0; slN < 4; slN++) {
xGrid += 50;
yGrid += 50;
bg.repaint();
}
yGrid = 0;
}
}
class Background extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.RED);
g.fillRect(xGrid, yGrid, 50, 50);
}
}
}
然而,当我编译代码并运行它时,我只在(450,0)的位置看到一个红色方块
这不是我期望输出的,我不知道为什么。我做了大量的研究,但我仍然无法找到问题的正确答案,有人可以帮忙吗?