JTable Bild einfügen

Ketzler

Mitglied
Hallo,
ich hab versucht in meine JTable Bilder einzufügen. Habe mir im Internet folgenden Code zusammengesetzt,welcher in jeder Zeile ein eigenes Bild anzeigen soll. Aber kann mir keinen Reim drauf machen warum es nicht funktioniert könnt Ihr helfen?

die Table
Java:
package View;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

import Model.MyRenderer;




public class ChartsTabelle {

	public ChartsTabelle(JFrame seite){
		

		//ChartsTabelle
		ImageIcon icon = new ImageIcon("/home/phern/workspace/IloveMusic/jpg/helene.jpg");
		

		
		//ImageIcon icon = createImageIcon("/home/phern/workspace/IloveMusic/jpg/helene.jpg", "ff");
		// Die Daten für das Table
		Object[][] data = new Object[][]{
							{"1", "The Hanging Tree", "James Newton Howard feat. Jennifer Lawrence", },
							{"2", "Outside (feat. Ellie Goulding)", "Calvin Harris", icon},
							{"3", "Walk", "Kwabs", icon},
							{"4","Uptown Funk","Bruno Mars & Mark Ronson",},
							{"5","I'm An Albatraoz","AronChupa",},
							{"6","Dangerous (feat. Sam Martin)","David Guetta",},
							{"7","Break The Rules","Charli XCX",},
							{"8","Take Me To Church","Hozier",},
							{"9","Auf anderen Wegen","Andreas Bourani",},
							{"10","Blank Space","Taylor Swift",},
							{"11","Flash mich","Mark Forster",},
							{"12","Real Love","Clean Bandit",}
		};
			 
		// Die Column-Titles
		String[] title = new String[]{
			"Nummerierung", "Musiktitel", "Artist", "Cover"
		};
			 
		// Das JTable initialisieren
		DefaultTableModel model = new DefaultTableModel(data, title);
		JTable table = new JTable( model );
		//Größe der Spalten setzen
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		table.getColumn( "Nummerierung" ).setPreferredWidth( 100 );
		table.getColumn( "Musiktitel" ).setPreferredWidth(  200 );
		table.getColumn( "Artist" ).setPreferredWidth(  200 );
		table.getColumn( "Cover" ).setPreferredWidth(  100 );
		table.setPreferredScrollableViewportSize(table.getPreferredSize());	
		
		table.getTableCellRendererComponent(table,new ImageIcon("/home/phern/workspace/IloveMusic/jpg/helene.jpg"), 1,4);
		table.getColumnModel().getColumn(3).setCellRenderer(new MyRenderer()); 
		//hier die Spaltennummer für den Renderer setzen. 2 bedeutet, MyRenderer (der das Icon zeichnet) für die 3. Spalte (0 => 1. Spalte)
		 
		
		seite.getContentPane().add( new JScrollPane( table) ).setBounds(0, 150, 600, 500);
				
		
		
	}
}

der Renderer
Java:
package Model;

import java.awt.Component;

import javax.swing.ImageIcon;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;

public class MyRenderer extends DefaultTableCellRenderer implements TableCellRenderer
{
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column)
    {
        setIcon(new ImageIcon("/home/phern/workspace/3Abgabe/src/View/bilder/helene.jpg"));
        //***
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
}
 
Ketzler hat gesagt.:
... kann mir keinen Reim drauf machen warum es nicht funktioniert ...
Java:
Exception in thread "post": human.lang.error.description: jTableBildEinfuegen
    at der.teil.an.dem.du.den.fehler.genauer.beschreibst(Main.java:1)
 

Zurück
Oben