作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要做的是在我的程序加载某些内容时出现一个小的初始屏幕。这是我的:
SplashScreen.showSplashScreen();
// Do stuff that takes time.
SplashScreen.hideSplashScreen();
showSplashScreen() 方法所做的就是在屏幕中间创建一个新的 JWindow 并使其可见。
现在这段代码是从事件调度线程调用的,所以当调用 showSplashScreen() 方法时,在线程完成之前我看不到 JWindow,到那时,我不需要窗口了。在我等待的时候显示这个闪屏的最佳方式是什么?
最佳答案
不确定这是否是“最佳方式”,但我之前使用的一种机制是在 EDT 以外的线程上进行初始化,但使用 SwingUtilities.invokeAndWait
显示启动画面.这样,即使您的初始化速度很快(如果您希望如此),您至少也能看到启动画面。
所以在你的初始化线程上,你去:
SwingUtilities.invokeAndWait( /* Runnable to show splash screen */ );
// Do stuff that takes time.
SwingUtilities.invokeLater( /* Hide splash screen, display main GUI */ );
关于java - 在事件调度线程中显示 JWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889156/
我是一名优秀的程序员,十分优秀!