Java 如果按下64个if语句,如何循环填充每个方块
我想让程序做的是,当我按下任何一个方块时,它会为该方块运行setColor函数 这是密码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 &
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