我在 netbeans 中有一个带有 5 个按钮的 Jframe,分别命名为按钮 1、2、3、4 和 5。我正在努力做到这一点,如果按 4、2、3、1 的顺序按下按钮,它将显示一个对话框。我唯一的问题是让它识别按钮已按正确的顺序按下。
问问题
246 次
3 回答
2
如果这是我的项目,我会使用LinkedList<Integer>
orArrayList<Integer>
来保存表示已按下按钮的整数以及按什么顺序,然后如果最后 5 次按下与所需模式匹配,则会做出反应。所以每次按下按钮都会在列表中添加一个整数,然后检查最后 5 个条目,如果它们匹配模式,宾果!显示 JOptionPane。
请注意,为了获得最佳帮助,您应该向我们展示您尝试过的内容,我们可以帮助您完善它。
于 2013-06-06T02:02:03.103 回答
2
不知道为什么要为此使用按钮。大多数人会使用JPasswordTextField
.
如果你真的想使用按钮。那么你需要保留一个StringBuilder
. 每次按下按钮时,您都会将按钮的文本添加到构建器。然后您将检查构建器的 toString() 是否是密码。
如果密码不正确,您将显示一个 JOptionPane,然后清除构建器,以便用户可以重新开始。
于 2013-06-06T02:02:38.140 回答
0
干得好:
- 创建一个全局 String 变量,我将其命名为 code,并将其值初始化为
""
. - 在每个相应的按钮上,添加代码(用于按钮 1)
code+="1;"
和check();
- 创建一个方法
check
,其中包含以下功能:
(如果您希望尝试次数限制为 5)
System.out.println("Numbers of try: "+code.length());
if(code.length()==5){
if(code.contains("32415")){
System.out.println("You made it!!");
}else{
code="";
}
}
(如果不想限制尝试次数)
if(code.contains("32415")){
System.out.println("You made it!!");
}
继续尝试这个,它对我有用:)
于 2013-06-06T02:17:20.260 回答