我无法确定解决问题的最佳方法。我在MyPanel
中有2行,每行5个面板,称为for-loop
(编号最多10个),我想说,如果单击了面板8,则显示特定消息,不允许再显示其他面板单击直到下一个游戏(通过我已经排序的“重启”按钮完成)。
但是,我不知道实现此目标的最佳方法,唯一想到的是IF-ELSE
语句,但是我不确定是否有更好或更简单的方法:这是相关代码:
包含面板的for循环。
for (int i = 0; i < panel.length; i++) {
panel[i] = new MyPanel(this);
pane.add(panel[i]);
if (i % COLS == 0) {
tempColor = col1;
}
if (i <= 10) {
panel[i].setBackground(col1);
}
//Some sort of if statement that says when panel 8 is clicked, a game over message appears
//and doesn't allow further panel presses until game restart.
}
来自MyPanel类的信息(也许我可以在此以外的一个事件呢?):
public MyPanel(Checkers checkers) {
this.checkers = checkers;
addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e) {
setBackground(Color.BLACK);
checkers.incrementScore();
}
任何建议都会很棒,任何格式错误都请通知我。