22. maj 2002 - 14:16Der er
5 kommentarer og 1 løsning
Insert Row i JTable
Hejsa Jeg har lavet et JTable, der viser hvilke baner der er udlejet i et bowlingsystem. Det ser således ud: if ( e.getSource() == buttonBowlOpret ) { //tableBowl.addRowSelectionInterval(0,1); String banenr = textFieldBowlBaneNr.getText(); tableBowl.setValueAt(banenr,0,0); String kundenr = textFieldBowlKundeNr.getText(); tableBowl.setValueAt(kundenr,0,1); String dato = textFieldBowlDato.getText(); tableBowl.setValueAt(dato,0,2); String medarbejdernr = textFieldBowlMedarbejderNr.getText(); tableBowl.setValueAt(medarbejdernr,0,3); nord.opretBowlUdlej(Integer.parseInt(banenr), Integer.parseInt(kundenr), dato, Integer.parseInt(medarbejdernr)); }
Problemet her, er at når jeg indsætter noget i JTable, så er det altid på index plads 0,0/0,1/0,2/0,3. Derfor ville jeg gerne indsætte en tom linje øverst i tablet hver gang der skal indsættes noget, sådan at den linje der før var 0,* nu bliver 1.*
Er der nogen der har en metode at gøre det på, ville jeg blive glad.
du skulle måske overveje at lave en tablemodel. Heri kunne du så få dine data fra en vector eller lignende, hvor du kan indsætte data som første element i vectoren.
jo, men det afhænger selvfølgelig af dine data. Udfra ovenstående ser det ud til at du får dine data fra brugerinput. Derfra kunne du gemme dem i et object der beskriver dataene, og have en reference til dette object i tablemodellen. I tablemodellen bestemmer du selv hvordan du 'sender' data videre til tabellen.
Jeg synes bedst om ideen med at lave egen TableModel, men et quick'n'dirty (og uafprøvet) forslag kunne værre dette: Da du ikke ved hvad en TableModel er, benytter du nok DefaultTableModel. Denne har en metode (getDataVector) til at få returneret en vector af vectorer med tabellens indhold (hver vector en række). Indsæt de nye data i denne, og brug den i konstruktøren til et nyt DefaultTableModel objekt som indsættes i tabellen med metoden setModel(TableModel) Prøv det.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.