-1

我在 netbeans 中有一个带有 5 个按钮的 Jframe,分别命名为按钮 1、2、3、4 和 5。我正在努力做到这一点,如果按 4、2、3、1 的顺序按下按钮,它将显示一个对话框。我唯一的问题是让它识别按钮已按正确的顺序按下。

4

3 回答 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

干得好:

  1. 创建一个全局 String 变量,我将其命名为 code,并将其值初始化为"".
  2. 在每个相应的按钮上,添加代码(用于按钮 1)code+="1;"check();
  3. 创建一个方法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 回答