首页 > 解决方案 > 如何显示 8x8 棋盘格?

问题描述

我想显示一个 8x8 棋盘格,但是使用下面的代码,我只能得到具有交替颜色的水平线。

Color color = Color.gray;
for (int row = 0; row < 8; row++)
{
    for (int col = 0; col < 8; col++)
    {
        if (color == Color.gray)
        {
            color = Color.lightGray;
        }
        else
        {
            color = Color.gray;
        }
        g.setColor(color);
        g.fillRect(row*80, col*80, 80, 80);
    }
}

在此处输入图像描述

标签: javaswingfor-loopawtgraphics2d

解决方案


你创建你的板列,每列垂直。

您切换每个字段的颜色,没有错。

在列的末尾,您最终会得到与列开始时不同的颜色,这是正确的。

然后切换颜色并开始下一列,这意味着您使用与开始前一列相同的颜色开始下一列。即你总是在同一行中使用相同的颜色。

解决在每列之后再次切换一次,或者不对每列的第一个字段进行切换。


推荐阅读