Попълване на SWT табличен обект с помощта на отделен клас нишка

Имам кодов фрагмент от SWT екип, който прави точно това, от което имам нужда. Въпреки това, има част, която искам да отделя в друг клас, по-специално, цялото вградено нещо. В отговор на моя предишен въпрос, беше предложено Трябва да се използва Callable за да се реализират резбови обекти. Предлага се да се използва имплементация на runnable или по-добре callable, тъй като имам нужда от някакъв вид връщане.

Аз обаче не го разбирам. Моите проблеми са:

  1. В оригиналния код, в рамките на вградената реализация на изпълнението на метода, се извикват някои от родителските обекти. Как да направя това, когато нишката е разделена? Предаване на обекта чрез параметъра на C'tor?
  2. В оригиналния код друг изпълняваем обект е вложен в изпълняваемата реализация. За какво е полезно? Как да приложим това, когато сте разделили кода? Освен това, този вложен runnable отново извиква обекти, създадени от основния метод.

Моля, имайте милост към мен, но аз все още съм доста начинаещ и мозъкът ми е близо до колапс :-( Всичко, което искам, е да отделя всички нишки в друг клас и да накарам програмата да прави точно същото, което вече прави. Помощ, моля!

Отново благодаря много предварително за всички полезни предложения, съвети, примери и т.н.

Regs Me


person Ta Sas    schedule 14.03.2010    source източник


Отговори (1)


Вътрешните нестатични класове в java получават родителски екземпляр (за нестатични методи) и всички крайни локални променливи (и параметри на метода), от които се нуждаят в конструктора. Можете сами да приложите този подход - това е добре за големи класове.

Всички неща на потребителския интерфейс трябва да се изпълняват в основната нишка. Ето защо се използва вложен Runnable обект. Той се добавя към опашката на събития от display.syncExec, след което основната нишка го извлича по някакъв начин и изпълнява неговия run метод. Ако искате да създадете отделен клас тук, трябва да подадете параметри чрез конструктори или setXXX методи.

person Ha.    schedule 14.03.2010
comment
Хей, благодаря... мисля, че започвам да разбирам. Ще опитаме това в момента... - person Ta Sas; 14.03.2010