SWT:是否可以同时移动多个小部件?

时间:2013-05-14 00:17:15

标签: java concurrency swt

我根据用户所需的位置和持续时间成功实现了小部件的动画。但是,如果我设置两个小部件来移动,它们一次只能动画一个。当我开始移动小部件A 1000毫秒。当它的时间是500毫秒时,小部件B应该立即开始移动另外1000毫秒。

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

2 个答案:

答案 0 :(得分:0)

怎么样:

beginMovingWidgetA();
new Thread(new Runnable() {
    @Override
    public void run () {
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        beginMovingWidgetB();
    }
}).start();

(这假设至少beginMovingWidgetA是一种异步方法。)

答案 1 :(得分:0)

您基本上需要在Runnable上将动画任务安排为Display

您可能希望查看以下现有库。

https://java.net/projects/timingframework

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

Trident具有良好的功能,并且具有SwingSWT实现。