使用GUI时暂停程序

时间:2016-06-30 17:30:15

标签: java

我对netbeans GUI创建有点不熟悉,但我已经编写了所有类,现在正在尝试实现GUI。我的主类将创建一个gui对象。当GUI显示时,它将询问用户输入。从这里我希望程序暂停并等待用户单击Enter按钮。这是初始代码:

MainUI run = new MainUI();
run.runProgram();

//rest of main class code here

我的GUI类代码:

public void runProgram() {
    // Code for gui layout here.....


    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new MainUI().setVisible(true);
        }
    });    
}

在GUI类中,我还有一个动作事件,一旦点击回车按钮就可以从用户那里获得输入。然后将此字符串返回给我的Main类。问题是,当我运行我的主类时,它显示gui,然后在等待用户的响应之前执行主类的其余部分。我已经读过你可以使用一个动作监听器但是在我知道使用Netbeans GUI构建器时已经自动使用了它。那么还有另一种方法可以暂停程序,直到按下Enter按钮?

1 个答案:

答案 0 :(得分:-1)

您可能希望在代码上方使用thread.sleep函数,以便等待用户输入信息。此链接可能会有所帮助:

https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

我能看到的唯一缺点就是你必须指定线程休眠的一段时间,这不取决于用户是否输入信息,而是取决于指定的时间长度。

您可能还想查看keyPress和keyRelease以查看用户在输入完信息后是否按下了回车键。

https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html