Witam!

W swoim programie mam użyty komponent JTable. W tabeli wstawione mam obiekty JLabel oraz jedną kolumnę z JProgressBar'ami;

W osobnym wątku dane są obrabiane oraz wywoływana jest metoda progressbara .setValue(int);
Teoretycznie wszystko działa, jednak "widok" progressBara (JLabel'i zresztą również, bo tam tekst też się powinien zmieniać) nie zmienia się, tzn nie ma aktualizacji obecnej wartości(a więc brak inkrementacji progressBara). Pojawia się on kiedy zmieni się (runtime) np. rozmiar okna ( a więc wszytko jest repaint()) i wówczas mamy odświeżone dane.

Uruchomiłem kolejny wątek który co pół sekundy wywołuje dla JTable metode repaint(). Okazuje się jednak, że takie rozwiązanie będzie bardzo procesorożerne - 30% przy 10 rzędach, dla większej ilości nawet nie sprawdzałem. Próbowałem również metode doLayout(). Niestety rozłożenie co pół sekundy całego JTabla wymaga za dużej siły obliczeniowej - niepotrzebne obciążenie
Program lekki - interfejs ciężki ;(

Zna ktoś sposób na odświeżanie zawartości komponentów JTable'a kiedy to same komponenty były modyfikowane bezpośrednio, poza JTablem (a więc przez referencje, nie po przez wyłuskanie z tabeli komponentu i późniejszą modyfikację), aby nie zjadało to tak bardzo procesora ? D

z góry dzięki za pomoc