[Java lista] Swing kérdés

Mester József mesterj at freeweb.hu
2011. Ápr. 7., Cs, 11:28:43 CEST


Szia

Köszönöm a részletes választ.

Jelenleg így néz ki.
Az adatbázis fixen 300 rekord hosszú. Viszont az adatok akár teljesen 
meg is változhatnak benne.
Tehát minden alkalommal teljesen újra kell olvasnom az egész táblát.
JPA-val oldom meg az olvasást és mindent behúzok teljesen.

Dao osztály csinált List-et
TableModel csinál a List-ből datamodel objectet egy Timerben (swing) 
updatelem az JTable datamodeljét .
Az EDT ezt nem nagyon szereti én teljesen erre fogtam a getValueat() 
hülyeségeket . Mert olyat is csinál a program, hogy látom, hogy 
megváltozik az adat a JTable-ban (tudom, hogy az adatbázisban 
megváltozott) erre a változás után párszor feldobja az elavult adatot és 
csak néhány oda-vissza váltogatás után javul meg és ezt tuti az EDT 
csinálja.
EDT-be belefúrtam magam . Most úgy látom, hogy SwingWorker hívással 
kellene updatelni a JTable modellt , hogy ne vesszen össze az EDT-ben 
futó ListSelectionListenerrel. De a SwingWorker tudásom még biztos hagy 
maga után kívánnivalókat mivel sehogyan sem bírom időzítve elindítani.
Ráadásul , hogy szebb legyen az élet a 300 sornak automatikusan 
scrollozódni kell a képernyőn mivel olvashatóan egyszerre csak kb. 30 
sor fér ki a képernyőre egyszerre.
A 10 percenkénti adatbázis újra-olvasást muszáj megcsinálni. Pedig 
hülyeség (megrendelő) mivel a 300 sor annyi idő alatt végig sem fog 
menni azzal a léptetéssel ahogy szeretnék. Főleg nem ha kiválasztanak 
sorokat mert addig áll a léptetés. Tehát nagyjából az utolsó 60-120 sort 
sosem fogják látni. De erre majd rájön a kedves megrendelő.

Tehát a kérdés: Hogy a rákban lehet SwingWorkert időzítve meghívni olyan 
céllal, hogy a JTable modelljét módosítsa?

Józsi





További információk a(z) Javalist levelezőlistáról