按特定顺序按下的Java按钮

时间:2013-06-06 01:58:02

标签: java swing button passwords combinations

我有一个带有5个按钮的netbeans的Jframe,名为按钮1,2,3,4和5.我试图按顺序按下按钮4,2,3,1,它会显示一个对话框。我唯一的问题是让它识别按钮按正确顺序按下。

3 个答案:

答案 0 :(得分:2)

如果这是我的项目,我会使用LinkedList<Integer>ArrayList<Integer>来保持整数表示已按下的按钮以及按什么顺序,然后如果最后5次按下则会作出反应匹配所需的模式。因此,按下每个按钮会将一个整数添加到列表中,然后检查最后5个条目,如果它们与模式匹配,则 bingo !显示JOptionPane。

请注意,为了获得最佳帮助,您应该向我们展示您尝试过的内容,我们可以帮助您完善它。

答案 1 :(得分:2)

不确定为什么要使用按钮。大多数人会使用JPasswordTextField

如果你真的想使用按钮。然后你需要保持StringBuilder。每次按下按钮,您都会将按钮的文本添加到构建器。然后,您将检查构建器的toString()是否为密码。

如果密码不正确,您将显示JOptionPane,然后清除构建器,以便用户可以重新开始。

答案 2 :(得分:0)

你走了:

  1. 创建一个全局String变量,我将其命名为代码,并按""初始化其值。
  2. 在每个相应的按钮上添加代码(对于按钮1)code+="1;"check();
  3. 创建方法check,其中包含以下功能:
  4. (如果你想尝试的数量限制为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!!");
    }
    

    继续试试这个,它对我有用:)