java:如何在GUI中延迟代码

标签 java swing user-interface timer delay

我正在为一个学校项目使用 Java 编写一个程序。它采用交互式多项选择测试的形式。

我希望它以操作按钮创建一个事件的方式执行它(代码的顺序与列出的相同):

1) 从准备好的列表中随机选择一个由多个字符串组成的对象,并将其打印在 GUI 中的足够文本字段上

2) 使用正确的方法会产生延迟,将进一步的代码保留在下面 1 分钟。此时,用户应该能够选中正确的复选框,因此 GUI 必须保持 Activity 状态。

3)当这一分钟结束时,检查的位置将被读取并进一步处理。

问题是我无法创建步骤 2),这是下面代码的延迟。我尝试过 sleep() 函数,但是当我使用 sleep() 执行此操作时,整个 GUI 卡住,用户无法对其执行任何操作。我读过,功能 Swing 计时器是合适的,但我不知道该怎么做。我看过一些示例,但在它们中,计时器以及在一段时间后执行的函数是在 ActionListener 类而不是操作按钮中编写的。我正在使用 Netbeans 8.1

抱歉我对问题的解释不好,我是java编程的初学者,真的很依赖你的帮助:) 干杯!

enter image description here

最佳答案

您的问题来自于您如何构建代码。您将所有内容都写入了一个方法中。

将其分为两种方法。用于设置 UI 状态(“这里我需要延迟...”之前的所有内容)。第二种方法采用以下所有内容。

然后,在第一个方法的末尾,创建一个一分钟的非重复计时器,添加一个仅调用第二个方法的 ActionListener。然后启动计时器。当计时器运行完毕后,它将通过操作监听器调用您的第二个方法。

关于java:如何在GUI中延迟代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35233599/

相关文章:

java - Jtable 中的单元格样式

javascript - 使用 jQuery 插件自动格式化结构化数据(电话、日期)(或失败的 vanilla JavaScript)

java - 在 eclipse 中将 JFreeChart 添加到 Maven

java - 在tomcat日志消息中,是否可以在日志消息中添加文件名

java - 使用 java 获取 HTML 内容的最快方法是什么?

java - 选择应加载项目的哪个可运行类

Java标签定时器和保存

Java Swing GUI - 如何让一个线程一直处于 sleep 状态并通过点击唤醒?

java - 我如何在java中使用setPreferredSize?

java - 按下后退按钮时 Android 应用程序崩溃