JScrollPane + Jtable --> ArrayIndexOutOfBounds

  • Hi

    hab ein sehr lästiges problem.
    Ich hab ein jtable in einem jscrollpane.
    Das jtable hat ein model welches ich vom abstracttablemodel abgeleitet hab.
    Wenn ich jetzt beim starten meines programms das model mit daten befülle(mehr als in den aktuellen viewport reinpassen) und dann der table das model zuweise wird alles richtig angezeigt.

    wenn ich dann nachträglich daten aus dem model rauslösche(zb dass nur mehr 2 zeilen drinnen sind) und danach ein fireTableData(Structure)Changed() aufruf is das dem scrollpane vollkommen wurscht. die scrollbar is noch imemr so groß wie vorher und sobald ich scrollen will haut er mir eine arrayindexoutofbounds exception(bei getValueAt vom model[getRowCount is zb 2, trotzdem will er auf 2,2 zugreifen]).
    ich schaffs einfach nicht dem scrollpane zu sagen es soll sich neu aufbauen.
    reload,revalidate,viewport neu setzen is ihm alles wurscht.
    habts ihr eine idee wie ich das lösen kann?

    {WcM} http://www.wcm-clan.com
    ClanManagerPro CMPro http://www.cmpro.org

    Der genetische Code des Menschen und der des Schimpansen unterscheiden sich zu 1,6%.
    Bei machen Menschen merkt man das mehr, bei anderen weniger *g*

  • Userinterface - da hab ich schon etwas herumprobiert deshalb die ganzen kommentare

    KapitelTableModel

    {WcM} http://www.wcm-clan.com
    ClanManagerPro CMPro http://www.cmpro.org

    Der genetische Code des Menschen und der des Schimpansen unterscheiden sich zu 1,6%.
    Bei machen Menschen merkt man das mehr, bei anderen weniger *g*

  • problem gelöst:
    man darf nach dem ändern des models dieses _nicht_ neu zur tabelle hinzufügen.
    es reicht wenn man nachdem das model geändert wurde IM model fireTabledataChanged() aufruft.

    {WcM} http://www.wcm-clan.com
    ClanManagerPro CMPro http://www.cmpro.org

    Der genetische Code des Menschen und der des Schimpansen unterscheiden sich zu 1,6%.
    Bei machen Menschen merkt man das mehr, bei anderen weniger *g*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!