2010-03-14 32 views
3

我有一个代码片段by the swt team,它完全符合我的需要。但是,有一部分我想分成另一类,特别是整个内联的东西。为了响应我的former question,建议应该使用Callable来实现线程对象。建议使用可运行的或更好的可调用实现,因为我确实需要某种返回。使用单独的线程类填充SWT表对象

但是,我不明白。我的问题是:

  1. 在原始代码中,在方法运行的内联实现中,会调用一些父对象。当线程分离时我该怎么做?通过C'tor的参数传递对象?
  2. 在原始代码中,另一个可运行对象嵌套在可运行实现中。到底有什么好处呢?如何实现这个分隔代码时?此外,这个嵌套runnable再次调用由main方法创建的对象。

请对我有怜悯,但我仍然是一个初学者,我的大脑接近崩溃:-(我想要的是将所有线程的东西分离到另一个类中,并使程序完全相同事情因为它已经做。请帮助!

再次非常感谢你提前任何有益的建议,提示,实例等..

的REG 我

回答

1

内非静态班java接收父实例(对于非静态方法)和所有fi最终的局部变量(和方法参数)他们需要在构造函数中。你可以自己实现这个方法 - 这对于大型类来说是可以的。

所有UI的东西必须在主线程中执行。这就是为什么使用嵌套Runnable对象的原因。它被display.syncExec添加到事件队列中,然后主线程在提取它时执行一些方法并执行其run方法。如果你想在这里创建单独的类,你应该通过构造函数或setXXX方法传递参数。

+0

嘿,谢谢......我认为**我开始明白了。现在就试试这个吧... – 2010-03-14 09:40:24