Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SWT:可以同时移动多个小部件吗?_Java_Concurrency_Swt - Fatal编程技术网

Java 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

我成功地实现了一个基于用户期望位置和持续时间的小部件动画。但是,如果我将两个小部件设置为移动,它们一次只能为一个设置动画。当我开始移动小部件A 1000毫秒时。当其计时为500毫秒时,小部件B应立即开始移动1000毫秒

我可以通过SWT实现这一点吗?

如何:

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可以出现在运行时的任何位置,因此无法更改代码框架。