Sziasztok,<div><br></div><div>Csináltam egy swing alkalmazást, amiben van egy JTable, ami adatokat jelenít meg. A felhasználó ezeket soronként tudja törölni. Törlés úgy néz ki, hogy </div><div>- kiválaszt egy sort a felhasználó (ennek adatait összeszedjük a TableModelből)</div>
<div>- kérünk egy megerősítést, hogy tényleg törölni akarja-e</div><div>- megerősítés esetén törlünk (szerverhez nyúlunk)</div><div>- ismét lekérjük az aktív adatok listáját</div><div>- frissítjük a JTable -t, hogy csak az aktív adatok jelenjenek meg.</div>
<div><br></div><div>Ez a folyamat odáig teljesen jól működik, hogy ismét lekérem a még aktív adatokat. Viszont ilyenkor a JTable elhasal egy </div><div><br></div><div>"Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1<div>
<span class="" style="white-space:pre">        </span>at java.util.ArrayList.elementData(ArrayList.java:371)</div><div><span class="" style="white-space:pre">        </span>at java.util.ArrayList.get(ArrayList.java:384)"</div><div>
<br></div><div>Ilyen kivétellel. Nézem már lassan 1 napja, hogy mi a kutyafüle baja van és arra jöttem rá, hogy amikor ismételten lekérem az adatokat és az odaadom a JTable -nek így:</div><div><br></div><div><div>partnersTableModel = new PartnersTableModel();</div>
<div> partnersTableModel.setData(PartnerServiceComm.getAllActivePartners());</div><div> corePartnerEntitiesTable.setModel(partnersTableModel);</div><div> partnersTableModel.fireTableStructureChanged();</div>
<div> corePartnerEntitiesTable.repaint();</div></div><div><br></div><div>Akkor valamiért a tábla még azt hiszi, hogy egy sor ki van választva és meghívja a </div><div><br></div><div>valueChanged(ListSelectionEvent e)<br>
</div><div><br></div><div>metódust, ami elhasaltatja az egészet.</div><div>A kérdésem, hogy a táblának hogyan lehet megmondani azt, hogy nincsen kiválasztva semmi sem? Próbáltam azt, hogy a JTable SelectionModel.setLeadSelectionIndex() értékét felülírom, de ez nem ér semmit sem, mert a valueChanged metódus ezt felülcsapja - ha jól láttam - miután a friss adatokat lekérem és a valueChanged automatikusan meg lesz hívva, mert a tábla azt hiszi - talán jogosan, talán nem -, hogy egy sora ki van választva.</div>
<div><br></div><div>Az interneten csak olyan cikkeket találtam eddig, amelyek arról szólnak, hogy egy kiválasztott sornak hogyan tudod az értékeit megkapni. Ezekkel sokra nem mentem.</div><div><br></div><div>Tudtok a fenti problémámra valami értelmes megoldást? Gyanítom, hogy nem én vagyok az egyetlen, aki ezzel találkozott. Vagy tudtok olyan cikket, amiben esetleg ez le van írva? A hivatalos "Hogyan használjuk a JTable-t?" cikkben ez nincsen leírva vagy nem vettem észre.</div>
<div><br></div><div>Előre is köszönöm a segítséget!</div><div><br></div><div>András</div><div><br></div><div><br></div>-- <br>-- Csanyi Andras (Sayusi Ando) -- <a href="http://sayusi.hu" target="_blank">http://sayusi.hu</a> -- <a href="http://facebook.com/andras.csanyi" target="_blank">http://facebook.com/andras.csanyi</a><br>
-- ""Trust in God and keep your gunpowder dry!" - Cromwell<br>
</div>