vendredi 22 mai 2015

JTable Bilder

Hallo,

Versuche gerade Bilder die in einem Ordner sind in ein JTable zu bringen.
Bilder bekomm ich rein aber immer die gleichen?!

Code ist nicht schön....Test gerade etwas herum...
Java Code:

  1.  
  2. String pfad = "L:/http://ift.tt/1Aosjxt;; // Pfad zu Bildern
  3. String[] bilderName = new File(pfad).list(); // speichert alle Bildernamen im Array
  4.  
  5. Vector<String>columnName = new Vector<String>(); // Vector für Spaltename
  6. columnName.addElement("Bilder");
  7.  
  8. Vector<Vector<ImageIcon>>data = new Vector<Vector<ImageIcon>>(); // Vector für Daten
  9. Vector<ImageIcon>bild = new Vector<ImageIcon>(); // Vector für Bilder
  10.  
  11. DefaultTableModel m = new DefaultTableModel(data, columnName);
  12.  
  13. for(int i = 0;i < bilderName.length;i++){
  14. System.out.println(pfad+bilderName[i]); // Test Ausgabe, 7 verschiedene Fotos
  15.  
  16. bild.addElement(new ImageIcon(pfad+bilderName[i])); // Bild in Vector einfügen
  17. m.insertRow(i, bild); // Zeile einfügen
  18. }
  19. data.addElement(bild);
  20.  
  21. JTable table = new JTable(m){
  22. public Class<?>getColumnClass(int columnIndex){
  23. switch(columnIndex){
  24. case 0:
  25. return ImageIcon.class;
  26. default:
  27. return String.class;
  28. }
  29. }
  30. };
  31. table.setRowHeight(100);


in der for-Schleife fülle ich den Vector mit den Bildern und dieser wird dem model übergeben

Der Table wird angezeigt aber mit (in diesem Fall) 7 gleichen Fotos

vl kann mir wer helfen


--> Edit:
folgendes hab ich auch versucht
Java Code:

  1.  
  2. List<ImageIcon> list = new ArrayList<ImageIcon>(bilder.length);
  3. for(int j=0; j<bilder.length; j++)
  4. list.add(bilder[j]);
  5. bild.addAll(list);


JTable Bilder

0 commentaires:

Enregistrer un commentaire