我正在为一个学校项目使用 Java 编写一个程序。它采用交互式多项选择测试的形式。
我希望它以操作按钮创建一个事件的方式执行它(代码的顺序与列出的相同):
1) 从准备好的列表中随机选择一个由多个字符串组成的对象,并将其打印在 GUI 中的足够文本字段上
2) 使用正确的方法会产生延迟,将进一步的代码保留在下面 1 分钟。此时,用户应该能够选中正确的复选框,因此 GUI 必须保持 Activity 状态。
3)当这一分钟结束时,检查的位置将被读取并进一步处理。
问题是我无法创建步骤 2),这是下面代码的延迟。我尝试过 sleep() 函数,但是当我使用 sleep() 执行此操作时,整个 GUI 卡住,用户无法对其执行任何操作。我读过,功能 Swing 计时器是合适的,但我不知道该怎么做。我看过一些示例,但在它们中,计时器以及在一段时间后执行的函数是在 ActionListener 类而不是操作按钮中编写的。我正在使用 Netbeans 8.1
抱歉我对问题的解释不好,我是java编程的初学者,真的很依赖你的帮助:) 干杯!
最佳答案
您的问题来自于您如何构建代码。您将所有内容都写入了一个方法中。
将其分为两种方法。用于设置 UI 状态(“这里我需要延迟...”之前的所有内容)。第二种方法采用以下所有内容。
然后,在第一个方法的末尾,创建一个一分钟的非重复计时器,添加一个仅调用第二个方法的 ActionListener。然后启动计时器。当计时器运行完毕后,它将通过操作监听器调用您的第二个方法。
关于java:如何在GUI中延迟代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35233599/