JTable && ArrayList<String>

0

Witam,

mam pewien problem z osadzeniem ArrayListy w module JTable, mianowicie udaje mi sie wczytac ja do tabelki, ale kazdy rzad [ a jest ich ponad 400 ] zawiera te same dane np:

ola,ala,kot,ma,psa,test
ola,ala,kot,ma,psa,test
ola,ala,kot,ma,psa,test
......
itd

a powinno byc
ola
ala
kot
ma
psa
test

kod wyglada tak:

 static CSV_in cin = new CSV_in();

 
 
  
void jaTabelka(){
    for (int j =0; j<cin.nazwaAkcji.length;j++){  // tylko w ramach testu coby sprawdzic czy lista cos zawiera
        System.out.println(cin.nazwaAkcji[j]);
    }
    Vector rowData = new Vector();
    for (int i = 0; i < 415; i++) {
      Vector colData = new Vector(Arrays.asList(cin.nazwyAkcji.toString()));
      rowData.add(colData);
    }
    
        //      Object[][] data ={
    
    String[] columnNames = {"a"};
    
    Vector columnNamesV = new Vector(Arrays.asList(columnNames));

    JTable table = new JTable(rowData, columnNamesV);
    JFrame f = new JFrame();
    f.setSize(300, 300);
    f.add(new JScrollPane(table));
    f.setVisible(true);
  }
}
0

ok ok, nie pchac sie z odopowiedziami, po kolei :D.

tak wiec zamienilem ArrayListe na zwykla Arrayjke i juz mam sukces:

 void jaTabelka(){
    /*for (int j =0; j<cin.nazwaAkcji.length;j++){
        System.out.println(cin.nazwaAkcji[j]+" baba");
    }*/
    System.out.println(cin.nazwyAkcji.size());
    Vector colData = null;
    Vector kData = null;
    Vector rowData = new Vector();
    for (int i = 1; i < 414; i++) {
      colData = new Vector(Arrays.asList(cin.nazwaAkcji[i]));
      kData = new Vector(Arrays.asList(cin.kursyAkcji[i]));
         rowData.add(colData);
      
    }
 
    
    
    String[] columnNames = {"Nazwa","Aktualny Kurs"};
    
    Vector columnNamesV = new Vector(Arrays.asList(columnNames));

    JTable table = new JTable(rowData, columnNamesV);
    JFrame f = new JFrame();
    f.setSize(300, 300);
    f.add(new JScrollPane(table));
    f.setVisible(true);
  }
}

nie mniej zrodzilo sie nowe pytanie, otoz w jednej kolumnie mam juz to co chcialem czyli nazwy akcji, ale jak mam w druga kolumne wsadzic dane czyli aktualny kurs?

wybaczcie brak pl znakow, ale zeby zmienic jezyk potrzebuje roota, ktorym nie jestem

0

Jak to jak? Przerobiłeś kurs Swinga od Suna? Tam jest wszystko po kolei wytłumaczone. Jeśli w kolekcji/ tablicy masz elementy różnych typów to musisz zrobić typ Collection<Object> czy Object[] i wkładać tam Integery, Doubley, Stringi, etc

0
  Vector<String> rowOne = new Vector<String>();
    rowOne.addElement("Row1-Column1");
    rowOne.addElement("Row1-Column2");
    rowOne.addElement("Row1-Column3");
    
    Vector<String> rowTwo = new Vector<String>();
    rowTwo.addElement("Row2-Column1");
    rowTwo.addElement("Row2-Column2");
    rowTwo.addElement("Row2-Column3");
    
    Vector<Vector> rowData = new Vector<Vector>();
    rowData.addElement(rowOne);
    rowData.addElement(rowTwo);
    
    Vector<String> columnNames = new Vector<String>();
    columnNames.addElement("Column One");
    columnNames.addElement("Column Two");
    columnNames.addElement("Column Three");
    JTable table = new JTable(rowData, columnNames);

    JScrollPane scrollPane = new JScrollPane(table);
    frame.add(scrollPane, BorderLayout.CENTER);
    frame.setSize(300, 150);
    frame.setVisible(true);

myslalem o czyms takim, ale to rozwiazanie nie dziala niestety u mnie :/

edit:

to sa tablice Stringow. [ nazwaAkcji, kursyAkcji ]

1 użytkowników online, w tym zalogowanych: 0, gości: 1