首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自己的线程实现带有简短动画的弹出窗口?

使用自己的线程实现带有简短动画的弹出窗口?
EN

Stack Overflow用户
提问于 2013-02-11 18:58:23
回答 2查看 157关注 0票数 0

我将不得不用Java SWT实现弹出窗口。这些弹出窗口将在100ms动画中弹出。100ms是一个界限,在这个界限下,用户会感觉到动作是立即发生的。

问题是:我应该为这个动画使用自己的线程吗?有人知道本地弹出窗口是如何实现的吗?

例如:我可以在UI线程上的动画步骤之间调用睡眠,或者我可以在额外的线程上提取睡眠。

代码语言:javascript
复制
for(int i=0; i<height; i+=10){
   //change height here
   Thread.sleep(10); //makes UI unresposible for 10 ms
}

问题是-在这么短的时间内让UI变得不负责任是可以的,还是应该在一个额外的线程上完成?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-13 19:05:43

回答你的问题..我真的依赖于你的应用程序的需求。这是一个非常好的建议,不要在UI线程中执行任何长时间运行的进程(总是取决于“long”是什么)。

无论如何,它不会让你的图形用户界面停滞10毫秒,而是总共100毫秒。SWT中的GUI是由readAndDispatch()方法驱动的,所以在进行新的调用之前,GUI处于冻结状态(这就是为什么首先必须使用display.syncExec()displayAsyncExec()方法)。

票数 1
EN

Stack Overflow用户

发布于 2013-02-14 00:13:35

您可以使用三叉树或任何其他计时框架。我看到trident api同时支持SWT和Swing。基本上,它在UI线程上异步运行你的动画逻辑。

http://kenai.com/projects/trident/pages/Home

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14810836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档