Java SWT:可以同时移动多个小部件吗?
我成功地实现了一个基于用户期望位置和持续时间的小部件动画。但是,如果我将两个小部件设置为移动,它们一次只能为一个设置动画。当我开始移动小部件A 1000毫秒时。当其计时为500毫秒时,小部件B应立即开始移动1000毫秒 我可以通过SWT实现这一点吗?如何:Java SWT:可以同时移动多个小部件吗?,java,concurrency,swt,Java,Concurrency,Swt,我成功地实现了一个基于用户期望位置和持续时间的小部件动画。但是,如果我将两个小部件设置为移动,它们一次只能为一个设置动画。当我开始移动小部件A 1000毫秒时。当其计时为500毫秒时,小部件B应立即开始移动1000毫秒 我可以通过SWT实现这一点吗?如何: beginMovingWidgetA(); new Thread(new Runnable() { @Override public void run () { try { Thread
beginMovingWidgetA();
new Thread(new Runnable() {
@Override
public void run () {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
beginMovingWidgetB();
}
}).start();
(这假设至少
beginMovingWidgetA
是一种异步方法。)您基本上需要将动画任务安排为显示上的可运行
您可能希望查看以下现有库
Trident具有良好的功能,它同时具有Swing
和SWT
实现。感谢您的指导。timingframework似乎很有希望。您的建议与当前的实现是不匹配的。因为它们是生成的。beginMovingWidgetA和beginMovingWidgetB可以出现在运行时的任何位置,因此无法更改代码框架。