繁体   English   中英

如何等待直到按钮之一被点击?

[英]How to wait till one of the buttons is clicked?

我正在做一个项目,并且停留在某个地方。 我正在使用Java Swing,这是问题所在:

当用户单击readMore按钮时,我正在创建类VerifyFF的实例。 现在,此类创建一个框架,该框架具有一个输入字段和两个按钮,即“取消”和“继续”。 如果用户按下“取消”,则该框架将放置,无需执行任何操作。 如果他在文本字段中输入了正确的密码,然后按cont,则需要检查密码是否正确。 为此,我使用了一个名为verify的布尔变量。

当输入的密码正确时,然后将verify的值设置为true,否则不会发生任何事情。 用户收到并提示输入错误的密码,然后他可以再次输入正确的密码或按“取消”。

现在,在要创建VerifyFF类实例的类中,我想检查输入的密码是否正确,因此,我要检查变量boolean的值(也是静态的)。 问题是,当运行VerifyFF的构造函数时,没有什么可以阻止执行并等待用户输入内容。 两种检查都在函数内部完成

JButton.addActionListener(new ActionListener()
{
};

类中实例化变量的代码为:

VerifyFF vff =新的VerifyFF();

如果(vff.verified)

阅读更多();

每当我运行此代码时,它都不会等待查看是否放置了任何按钮。 我想知道如何才能等到按下某个按钮。

您不必等到有人按下按钮。 只是移动你的

if(vvf.verified) readMode(); 

进入“继续”按钮的动作监听器。

我不确定这个问题。 但是也许您应该重新考虑实现。 在构造函数中,只做第一个显示,然后有一个函数,只要用户单击更多且密码正确,它就会提供更多功能。 您确实不需要停止构造构造函数,这听起来很糟糕。

祝你好运,博罗。

您的类应具有validatePassword方法,单击继续按钮可以调用该方法。

class VerifyFF implements ActionListener {

private static final String ACTION_CONTINUE = "CONTINUE";

private JButton continueBtn = null;
private static boolean valid = false;

public VerifyFF() {
    this.continueBtn = new JButton("Continue");
    this.continueBtn.setActionCommand(VerifyFF.ACTION_CONTINUE);
    this.continueBtn.addActionListener(this);
}

public static boolean validatePassword() {
    //Validates the password field...
}

void actionPerformed(ActionEvent e) {
    if (e.getActionCommand().equals(VerifyFF.ACTION_CONTINUE)) {
        VerifyFF.valid = VerifyFF.validatePassword();
    }
}

}

这样,在按“继续”按钮时将调用validate方法。 然后您就可以根据布尔值“有效”执行所需的任何操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM