Nullpointer beim Erstellen eines Imageicons

Ketzler

Mitglied
Habe folgendes Problem: Wenn ich das in der main ausführe, kommt eine Nullpointer heraus. Beim Versuch es zulösen ist folgender Code herausgekommen. Warum? Wird die Bilddatei nicht gefunden? Mit diesem Code sollte der Fehler, so das Internet, erledigt sein.

Java:
package View;
import java.awt.Image;

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 iid = new ImageIcon(this.getClass().getClassLoader().getResource("/home/phern/workspace/3Abgabe/src/View/dangerous.jpg"));
		Image ball = iid.getImage();
		
		
		
		// Die Daten für das Table
		Object[][] data = new Object[][]{
							{"1", "The Hanging Tree", "James Newton Howard feat. Jennifer Lawrence", ball},
							{"2", "Outside (feat. Ellie Goulding)", "Calvin Harris", new ImageIcon(getClass().getResource("/home/phern/workspace/3Abgabe/src/View/bilder/dangerous.jpg"))},
							{"3", "Walk", "Kwabs", new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"4","Uptown Funk","Bruno Mars & Mark Ronson",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"5","I'm An Albatraoz","AronChupa",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"6","Dangerous (feat. Sam Martin)","David Guetta",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"7","Break The Rules","Charli XCX",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"8","Take Me To Church","Hozier",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"9","Auf anderen Wegen","Andreas Bourani",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"10","Blank Space","Taylor Swift",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"11","Flash mich","Mark Forster",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))},
							{"12","Real Love","Clean Bandit",new ImageIcon(getClass().getResource("/home/phern/workspace/IloveMusic/jpg/helene.jpg"))}
							};
			 
		// 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);
				
		
		
	}
}

Gruß und Dank
Ketzler
 
Was ein wirrwarr.....
Poste mal den Stacktrace bitte, vermutlich falsche Pfadangabe oder Syntaxfehler etc.....
Ohne Stacktrace die Nadel im Heuhaufen.....
 
Du benutzt zum einen getClass().getResource() - dies wird benötigt, wenn relative Pfade (relativ zur Lage der class- bzw. jar-Datei) angegeben werden. Gleichzeitig gibst du absolute Pfade an. Das passt nicht zusammen.
 

Neue Themen


Zurück
Oben