对面板onClick使用if语句吗?还是更好的方法?

时间:2019-03-15 16:05:32

标签: java for-loop if-statement onclick actionlistener

我无法确定解决问题的最佳方法。我在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(); 

}

任何建议都会很棒,任何格式错误都请通知我。

0 个答案:

没有答案