Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Filling SWT table object using a separated thread class

I've got a code snippet by the swt team that does exactly what I need. However, there is a part I want to separate into another class, in particular, the whole inline stuff. In response to my former question, it has been suggested that Callable should be used in order to implement threaded objects. It is suggested to make use of an implementation of runnable or better callable, since I do need some kind of return.

However, I don't get it. My problems are:

  1. In the original code, within the inline implementation of the method run, some of the parents objects are called. How would I do this when the thread is separated? Pass the object via the C'tor's parameter?
  2. In the original code, another runnable object is nested within the runnable implementation. What is it good for? How to implement this when having separated the code? Furthermore, this nested runnable again calls objects created by the main method.

Please, have mercy with me, but I am still quite a beginner and my brain is near collapsing :-( All I want is to separate all the threaded stuff into another class and make the program do just the same thing as it already does. Help please!

Again thank you very much in advance for any useful suggestions, hints, examples etc...

Regs Me

like image 619
Ta Sas Avatar asked Feb 22 '26 22:02

Ta Sas


1 Answers

The inner non-static classes in java receive parent instance (for non-static methods) and all final local variables (and method params) they need in the constructor. You can implement this approach yourself - this is ok for large classes.

All UI stuff must be executed in the main thread. That's why nested Runnable object is used. It is added to the event queue by display.syncExec then main thread extracts it somewhen and executes its run method. If you want to create separate class here, you should pass params via constructors or setXXX methods.

like image 180
Ha. Avatar answered Feb 25 '26 12:02

Ha.



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!