我对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按钮?
答案 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