Witam,
mam pewien problem, otóż muszę z bieżącego wątku (który był wywołany z wątku głównego) operować na GUI, które jest tworzone w wątku głównym.
Program piszę w NetBeans IDE 6.8 na linuksie i klasa główna wraz z GUI tworzona jest automatycznie. Swoją klasę tworzę w tym samym pliku i wygląda ona mniej więcej tak:
class Usuwanie extends Thread {
public void run(){
//Tutaj kod wątku
}
}
Natomiast wywołanie tego wątku w wątku głównym wygląda tak:
Usuwanie del = new Usuwanie() ;
del.start() ;
del.join() ;
Załóżmy, że w klasie głównej jest pole tekstowe - JTextArea, które nazywa się “jTextArea1”. Teraz mam pytanie, jak odwołać się do tego pola z klasy Usuwanie? I czy jest to w ogóle możliwe?
W wygenerowanym kodzie jest np. coś takiego:
public class DesktopApplication1 extends SingleFrameApplication {
@Override protected void startup() {
show(new DesktopApplication1View(this));
}
Popraw to na coś takiego:
public class DesktopApplication1 extends SingleFrameApplication {
public DesktopApplication1View view1 = null;
/**
* At startup create and show the main frame of the application.
*/
@Override protected void startup() {
view1 = new DesktopApplication1View(this)
show(view1);
}
a później pobieraj, korzystając z tego, że ta klasa jest singletonem, np tak:
DesktopApplication1.getApplication().view1.jakaśoperacjanaformie()
Poza tym, jak modyfikujesz GUI z różnych wątków może być potrzebne użycie tego: http://java.sun.com/j2se/1.4.2/docs/api … unnable%29
Dzięki wielkie za odpowiedź Problem rozwiązany.