需要帮助弄清楚paintComponent函数在javax.Swing中如何工作

时间:2019-04-07 18:31:00

标签: java

我正在创建一个tetris程序,并创建了一个for循环,告诉该程序创建10x20的块结构,但是我在实际绘制结构时遇到了麻烦(我是Java的新手)。

我尝试用块的颜色填充每个块,如果是边框则用洋红色填充,如果没有边界则用黑色填充。时间到了,我将为每个形状分配一个创建的随机颜色,该颜色将填充数组中的4个点。

public void start() {
            board = new Color[12][24];
            for (int i = 0; i < 12; i++) {
                for (int j = 0; j < 23; j++) {
                    if (i == 0 || i == 11 || j == 22) {
                        board[i][j] = Color.MAGENTA;
                    } else {
                        board[i][j] = Color.BLACK;
                    }
                }
            }
            newPiece();
        }
    @Override 
        public void paintComponent(Graphics g)
        {
            super.paintComponent(g);
            // Paint the well
            g.fillRect(0, 0, 26*12, 26*23);
            for (int i = 0; i < 12; i++) {
                for (int j = 0; j < 23; j++) {
                    g.setColor(board[i][j]);
                    g.fillRect(26*i, 26*j, 25, 25);
                }
            }

我希望会有一个10x20的框显示出品红色的背景和黑色的框,但是在代码失败之前仅渲染左上边框。

0 个答案:

没有答案