按特定顺序按下java按钮

o3imoua4  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(247)

我在netbeans中有一个jframe,有5个按钮,分别命名为按钮1、2、3、4和5。我试图使它这样,如果按这个顺序4,2,3,1按钮,它会显示一个对话框。我唯一的问题是让它认出按钮按了正确的顺序。

plicqrtu

plicqrtu1#

不知道为什么要使用按钮。大多数人会使用 JPasswordTextField .
如果你真的想用按钮。那你就得留个 StringBuilder . 每次按下按钮时,您都会将按钮的文本添加到生成器中。然后检查生成器的tostring()是否为密码。
如果密码不正确,您将显示一个joptionpane,然后清除生成器,以便用户可以重新启动。

qc6wkl3g

qc6wkl3g2#

如果这是我的项目,我会用 LinkedList<Integer> 或者 ArrayList<Integer> 保持整数,表示按钮被按下的顺序,如果最后5次按下与所需模式匹配,则会做出React。因此,每次按下按钮都会向列表中添加一个整数,然后会检查最后5个条目,如果它们与模式匹配,就对了!显示joptionpane。
请注意,为了获得最佳帮助,您应该向我们展示您的尝试,我们可以帮助您改进它。

fjaof16o

fjaof16o3#

干得好:
生成一个全局字符串变量,我将其命名为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!!");
}

去试试这个,它对我有用:)

相关问题