如何在Java中以特定模式绘制多个正方形?

时间:2016-08-31 09:25:52

标签: java paintcomponent

我试图在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)的位置看到一个红色方块

这不是我期望输出的,我不知道为什么。我做了大量的研究,但我仍然无法找到问题的正确答案,有人可以帮忙吗?

0 个答案:

没有答案