Java 如果按下64个if语句,如何循环填充每个方块

Java 如果按下64个if语句,如何循环填充每个方块,java,loops,math,Java,Loops,Math,我想让程序做的是,当我按下任何一个方块时,它会为该方块运行setColor函数 这是密码 public void mousePressed(MouseEvent e) { mX = e.getX(); mY = e.getY(); for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[i].length; j++) { if (mX &

我想让程序做的是,当我按下任何一个方块时,它会为该方块运行setColor函数

这是密码

public void mousePressed(MouseEvent e) {

    mX = e.getX();
    mY = e.getY();

    for (int i = 0; i < grid.length; i++) {

        for (int j = 0; j < grid[i].length; j++) {

            if (mX >= x + 75 && mX <= x && mY >= y + 75 && mY <= y) {

                grid[i][j].setColor(r, g, b);

                x += 75;

            }
            x = 0;
            y += 75;
        }
    }
    repaint();
}
public void鼠标按下(MouseEvent e){
mX=e.getX();
mY=e.getY();
对于(int i=0;i如果(mX>=x+75&&mX=y+75&&mY当用户单击按钮时,您不应该在所有方块上循环。相反,您应该只设置所单击按钮的颜色。我假设您的网格是一个扩展JPanel或其他组件。与其使用单片鼠标侦听器,不如为每个网格项添加一个侦听器,这样它只需自我管理。我建议您在每个网格位置创建按钮(如果尚未创建),并对每个按钮使用更高级别的
ActionListener
actionPerformed()
,而不是
MouseListener
mousePressed()
。请提供此代码的完整上下文。此嵌套循环的意义是什么?为什么不将
mX
mY
除以75并向下取整,以获得与单击按钮对应的
i
j
的值。(同样,正如@ErwinBolwidt所说,
mX>=x+75&&mX