java - 使用 GUI 时暂停程序

标签 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 类中,我还有一个操作事件,用于在单击输入按钮后获取用户的输入。然后该字符串返回到我的主类。问题是当我运行我的主类时,它显示 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/

相关文章:

java - 使 JSESSIONID 安全,从非安全上下文中创建登录问题

java - 如何区分 Spring Data Jpa 中的 DataAccessException 中的数据库连接失败错误与其他异常

java - 是否可以序列化 WebSocket 连接对象并在另一台服务器上重用它?

java - 如何通过 MIT JWI 查找 wordnet 同义词集的派生相关形式?

java - 判断一个方法是第一次还是第二次被调用?

Java生产者消费者线程

java - 与多个监听器的简单进程间通信

java - 日历的添加方法给出了错误的值?

java - 当我单击计算器应用程序中的算术函数按钮时,为什么我的应用程序会停止?

java - 将大量 system.out.println 重定向到 .txt 文件