[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