从未启用的按钮切换到启用的按钮

我正在尝试开发一个简单的“tris 游戏”(用户与计算机)。在这种情况下,应用程序显示了一个由 9 个按钮组成的网格,一旦点击它们就会被着色。实际上我发现了一些描述“计算机行为”的麻烦,特别是我无法找到一种方法来处理计算机选择已被单击的按钮的那一刻。这是一段代码:


switch (position.get(i)){


                case 1:

                    if (button11.isEnabled()) {


                        button11.setEnabled(false);

                        button11.setBackgroundColor(Color.RED);

                    }else{



                    }

                    break;


                case 2:

                    if (button12.isEnabled()) {


                        button12.setEnabled(false);

                        button12.setBackgroundColor(Color.RED);

                    }

                    break;

在这里,变量“位置”是一个包含按钮位置的列表,然后通过一个开关控制所选按钮是否启用,并且在肯定的情况下,它提供了使按钮着色且不可点击的功能。现在,我试图在“else”部分获取一些代码,以防按钮已经不可点击(例如用户之前已经点击了它)。我在想是否有办法从案例 1 传递到案例 2 等等,直到我找到一个仍然可以点击的按钮。有什么建议?


蓝山帝景
浏览 143回答 1
1回答

湖上湖

您可以创建一个 ArrayList 并将您的按钮放入其中,然后在循环内执行测试。例子 :&nbsp;ArrayList<Button> buttonList= new ArrayList<Button>();&nbsp;//put your buttons inside the list in order : buttonList.add(button0);...for(int i=0;i<position.size();i++){if(buttonsList.get(i).isEnabled()){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buttonList.get(i).setEnabled(false);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buttonList.get(i).setBackgroundColor(Color.RED);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java