如何在 NetBeans SWING 中的循环中使用 Thread.sleep?

Posted

技术标签:

【中文标题】如何在 NetBeans SWING 中的循环中使用 Thread.sleep?【英文标题】:How to use Thread.sleep in a loop within NetBeans SWING? 【发布时间】:2014-07-01 13:52:57 【问题描述】:

我正在 NetBeans 中制作一个装饰性的 SWING GUI 程序,只是为了和朋友一起玩,它涉及一个加载屏幕,实际上只需要几毫秒,但我希望它需要几秒钟才能完成,这就是我我正在尝试使用 Thread.sleep() 。加载是一个 For-Loop,我知道你必须抛出 InterruptedException 但由于它是用 NetBeans GUI 构建器制作的,你不能添加它,我试过只是复制并粘贴到另一个项目中,但它只是想出了错误。所以我的问题是如何让 Thread.sleep() 工作,或者是否有其他方法可以导致程序暂停。谢谢

编辑:基本上...如何让循环暂停每个间隔,以便五个循环间隔需要五秒钟。

【问题讨论】:

这就是 GUI 构建器的问题。如果你使用它们,你必须遵守它们的规则。 欢迎来到 Stack Overflow!你的问题真的很难理解;我不确定您要解释什么问题。如果您包含您现在拥有的代码并且简洁准确地说明您遇到的问题,您将获得更好的答案。 【参考方案1】:

从不在 Swing GUI 应用程序中使用 Thread.sleep()。或者使用 Swing Timers 来实现相同的行为。

请看一下How to Use Swing Timers

阅读更多关于Thread.Sleep alternative in Java


您可以通过两种方式使用 Swing 计时器:

延迟执行一次任务。

例如,工具提示管理器使用 Swing 计时器来确定何时显示工具提示以及何时隐藏它。

重复执行一项任务。

例如,您可以执行动画或更新显示目标进度的组件。

【讨论】:

以上是关于如何在 NetBeans SWING 中的循环中使用 Thread.sleep?的主要内容,如果未能解决你的问题,请参考以下文章

NetBeans 中的 Java Swing Jscrollpane

如何利用NetBeans Swing颜色选择器控制按钮背景

如何避免 Swing 中的无限更新循环?

在 Netbeans 中保存对话框

Eclipse 或 Netbeans 用于基于 Swing 的应用程序? [关闭]

java - 如何在Java Swing中的while循环迭代后等待