我对 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 类中,我还有一个操作事件,用于在单击输入按钮后获取用户的输入。然后该字符串返回到我的主类。问题是当我运行我的主类时,它显示 gui,但然后在等待用户响应之前执行主类的其余部分。我读过您可以使用操作监听器,但据我所知,在使用 Netbeans GUI 构建器时已经自动使用了该操作监听器。那么有没有其他方法可以暂停程序直到按下 Enter 按钮?
最佳答案
您可能需要在代码上方使用 thread.sleep 函数以等待用户输入信息。此链接可能会有所帮助:
https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html
我看到的唯一缺点是你必须指定线程 hibernate 的时间段,这样它就不会取决于用户是否输入信息,而是取决于指定的时间长度。
您可能还想查看 keyPress 和 keyRelease 以查看用户在输入完信息后是否按下了 Enter 键。
https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
关于java - 使用 GUI 时暂停程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38129777/