Avatar billede tutma Nybegynder
13. december 2002 - 14:28 Der er 4 kommentarer og
1 løsning

Vektorer og JTables

Hejsa.

Vi er ved at smide nogle vektorer ind i en JTable, vi har forsøgt at bruge AbstractTableModel, men det virker ikke og vi har en fornemmelse af at det er nedenstående metode som vi kalder i vores opdaterTabel metode som kunne være problemet. Det er bla. setElementAt som vi er lidt usikre på

ColumnNames som udgør kolonnerne er en vektor hvori vi putter 4 elementer (strings). Problemet er at få attributterne i vores Skydning-klasse til at blive vist i de enkelte kolonner.

Vi har smidt resten af vores kode, deriblandt vores opdaterTabel-metode (i main) op på:
http://imv.au.dk/~ttut/eksperten/

vi får følgende fejl når vi prøver at køre den:
java.lang.ArrayIndexOutOfBoundsException: 1 >= 0
    at java.util.Vector.setElementAt(Vector.java:492)
    at Main.lavDataRaekke(Main.java:337)
    at Main.opdaterTabel(Main.java:370)
    at GuiController.actionPerformed(GuiController.java:373)

public Vector lavDataRaekke(Skydning s)    {
        Integer integerDato = new Integer(s.getDato());
        dataRaekke = new Vector();
        System.out.println("dlfhgdf");
        dataRaekke.setElementAt(integerDato, 1);
        Integer integerSkiveNr = new Integer(s.getSkivenr());
        dataRaekke.setElementAt(integerSkiveNr, 2);
        Integer integerResultat = new Integer(s.getResultat());
        dataRaekke.setElementAt(integerResultat, 4);
        System.out.println ("damn, " + integerDato + integerSkiveNr +integerResultat + " for langsom...");       
        return dataRaekke;
    }
Avatar billede riversen Nybegynder
13. december 2002 - 14:31 #1
måske du kan bruge dette eksempel på en TableModel
http://riversen.dyndns.dk/TurneringsPlanTableModel.java.txt

husk at lukke dit gamle spørgsmål
Avatar billede riversen Nybegynder
13. december 2002 - 14:35 #2
Avatar billede riversen Nybegynder
13. december 2002 - 14:36 #3
Avatar billede magoo20000 Nybegynder
13. december 2002 - 14:45 #4
Kun et eksempel!
Man kunne istedet forestille sig en vector med objects med getters for forskellige værdier der skal placeres i hver kollonne, isåfald returnerer du blot object.gettersomething efter hvilken værdi der skal være i hvilken kolonne.

public class Test extends AbstractTableModel {

    Vector column1
    public TestTableModel() {   
        column1 = new Vector();
       
        for(int i = 0; i < 10; i++) {
            column1.add("row " + i); 
        }
           
    }
   
    public int getRowCount() {
        return column1.size();
    }
    public int getCollumnCount() {
        return 1;
    }
    public Object getValueAt(int row, int collumn) {
       
        //fordi der kun er en collumn
        return column1.elementAt(row);
       
    } 
}
Avatar billede tutma Nybegynder
15. december 2002 - 00:39 #5
Det hjalp ikke lige på problemet, men jeg kan meget bedre overskue hvordan JTable er skruet sammen. Hvilket nok er en ganske god start, så tak for det!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester