Fehlermeldung beim aufruf der main Methode

Asadiya

Mitglied
Ich bekomme immer wieder exceptions wenn ich meinen geschriebenen code testen will.z.B bei dieser Klasse

Java:
public class RemoveAnimation1 extends AnimationPanel {
/* in dem moment wo zwei objekte sich be ruehren loeschen wir das kleinere
 * beiden objekte aus der Liste der Spielobjekte
 * Hierzu methode reactWhenTouching ueberschrieben werden
 * 
 */
public void reactWhenTouching(GameObject g1,GameObject g2){
	if(g1.isLargerThan(g2)) 	gos.remove(g2);
	else gos.remove(g1);

}
//Test
public static void main(String [] args){
	MovablePanel p= new RemoveAnimation1();
	p.gos.add(new MovableImage("13545876-illustration-von-nette-biene-honig-essen.jpg",0,0,1,1));
	p.gos.add(new MovableImage("13545876-illustration-von-nette-biene-honig-essen.jpg",200,200,-1,-1));
	ShowInFrame.show(p);
}

}

Java:
Exception in thread "main" java.lang.NullPointerException
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at JavaWillNurSpielen.GeometricImage.<init>(GeometricImage.java:16)
	at JavaWillNurSpielen.MovableImage.<init>(MovableImage.java:32)
	at JavaWillNurSpielen.RemoveAnimation1.main(RemoveAnimation1.java:17)

Hier ist meine MyImage Klasse
Java:
public class MyImage {

	//zwei felder die den namen der datei und das schließlich geladene Bild speichern
	private String name;
	private Image img=null;//null sagt aus dass das objekt noch nicht vorhan den ist,Feldobjekt existiert aber Bildob jekt nicht
	 
	//KOnstruktor
	public MyImage(String name){
		this.name=name;
	}
	//get Mothode ermöglicht zugriff auf das Bildobjekt
	public Image get(){
		if(img==null)
			img=Toolkit.getDefaultToolkit().createImage(getClass().getClassLoader().getResource(name));
		return img;
	}
	
}

Meine GeometricImage Klasse
Java:
ImageIcon icon;
	/*Im Konstruktor wird über einen aufruf des konstruktors der der Oberklasse übergegebene eckpunkt gesetzt
	 * un dann das ImageIcon-Objekt aus der Ressourcenausgab e erzeugt
	 * Dieses Objekt kann dann nach der Hoehe und Breite befragt werden 
	 * und die entsprechenden Werte für as GeometricObjekt gesetzt werden
	 */
	public GeometricImage(String fileName, double x, double y){
		super(new Vertex(x,y));
	icon = new ImageIcon (getClass().getClassLoader().getResource("13545876-illustration-von-nette-biene-honig-essen.jpg"));
	init();		
		
		
	}
	
	
	public GeometricImage(ImageIcon icon, double x, double y){
	super(new Vertex(x,y));
	this.icon = icon;
	init();
}


void init(){
	width=icon.getImage().getWidth(icon.getImageObserver());
	height=icon.getImage().getHeight(icon.getImageObserver());
}
/*Methode zum zeichnen entspricht der von PaintableImage
 * jetzt können wir das ImageIcon explizit nach seinem Imageob server fragn
 * 
 */
public void paintTo(java.awt.Graphics g){
	icon.paintIcon(null, g, (int)pos.x, (int)pos.y);
}

//Test
public static void main(String[] args) {
	GeometricImage g= new GeometricImage("13545876-illustration-von-nette-biene-honig-essen.jpg",10,10);
	System.out.println(g.width);
System.out.println(g.height);
ShowInFrame.show(new PaintablePanel(g));

}



}
und Movable Klasse
Java:
	/*-Standardmäßig st dieser Wert auf 0 gesetzt damit Objekt sich nicht be wegt
	 *-Ein Konstruktor initialisert das Objekt
	 */
	public MovableImage(String name, double x, double y){
		super(name,x,y);
	}
	//Im  zwei weiteren Konstruktor kann das Feld DeltaPos auf einen bestimmten Wert gestezt werden
	public MovableImage  (String name, double x, double y,double dX,double dY){
		super(name,x,y);
		deltaPos=new Vertex(dX,dY);
	}

	public MovableImage(ImageIcon icon, double x, double y, double dX, double dY){
		super(icon,x,y);
	deltaPos= new Vertex(dX,dY);
	
	}

/* Bewegungsschritt wird durchgeführt in dem der Bewegungsvektor
 * deltaPos zur Position des Objektes hinzu addiert wird
 */
public void  move(){
	pos.addMod(deltaPos);
}

/*Bewgung wird umgedreht in dem die beiden KOmponenten
 * des Bewegungsvekors ihr Vorzeichen wechseln.
 * dieses kann mit einer Methode skalarMult der Klasse
 * Vektor durchgeführt werden, in dem als Skala -1 ubergeben wird
 */
public void turn() {
	
	deltaPos.skalarMultMod(-1);
}
//Bedingung dass ein objekt links eines anderen steht
public  boolean isLeftOf(GameObject that) {
	return this.getPos().x+this.getWidth()<that.getPos().y;
}
//ob  ein objekt über ein anderes liegt
public boolean isAbove (GameObject that){
	return this.getPos().y+this.getHeight()<that.getPos().y;
}
/*Schlißlich können die vier Fälle in denen sich zwei Objekte  nicht be rühren einzeln geprüft werden
 * Wenn keine der vier B edingungen zetrifft, müssen sich die objekte wohl berühren
 */
public  boolean touches(GameObject that){
	if(this.isLeftOf(that)) return false;
	if(that.isLeftOf(this)) return false;
	if(this.isAbove(that)) return false;
	if(that.isAbove(this)) return false;
return true;
}
//testet ob das Objekt größer ist als ein zweites als Parameter uebergebenes Objekt
public boolean isLargerThan(GameObject that){
	return getWidth()*getHeight()<that.getHeight()*that.getWidth();
}



}
 

Java20134

Bekanntes Mitglied
Als erstes: Von was erbt die Klasse Movable?
Wähle ebenfalls deine Bildnamen kleiner. Die Namen müssen nicht eine ganze Zeile einnehmen und was mir gleich noch auffällt, benutze lieber das BufferedImage statt das ImageIcon. Das ist einfach schöner.

Zum Schluss könntest du kurz erklären, was das Programm machen soll?
 

kuchenkruste

Mitglied
Wenn die Bilder im Projekt-Ordner liegen (Wovon ich nun einmal ausgehe):

Du hast vor den Bildpfaden einen Slash vergessen

Edit: Der Nullpointer müsste dir eigentlich schon sagen woran der Fehler liegt: Da ist ein Image nicht initialisiert -> Folglich wird beim Laden wohl was schief gegangen sein
 
Zuletzt bearbeitet:

Gucky

Top Contributor
NullPointerException bedeutet, dass du sozusagen versuchst aus einem leeren Glas zu trinken aber der felsenfesten Überzeugung bist, dass da etwas drin sein muss.

So wie es aussieht, hat dein Programm Schwierigkeiten das Bild zu laden. Guck mal nach, ob mit dem alles stimmt.
 

Asadiya

Mitglied
@Gucky ich weiß was NullPointer zu bedeuten hat nur das Problem ist dass ich die Fehlerquelle nicht herausfinde.
@java tut mir leid hab anscheinend nicht den kompletten code gepostet, hier ist der fehlende Teil
Java:
public class MovableImage extends GeometricImage implements GameObject {

	/* aufruf der methode move soll für ein Moavable Ob jekt einen
	 * Bewegungsschritt durchführen.Dies bdeutet, dass das Objekt sich in seiner Position
	 * auf der x- und auf der y-Koordinate verschiebt.Richtung und Länge
	 * deines Bewegungsschrittes sei durch ein Vertex-Objekt beschrieben.
	 */
	Vertex deltaPos= new Vertex(0,0);
	public Vertex getDeltaPos(){
		return deltaPos;
	}
	
	public void setDeltaPos (Vertex v){
		deltaPos= v;
	
		
	}
Das Programm soll dazu dienen dass ich Spiele programmiere und diese Klassen sind sozusagen der Einstieg in komplexe Projekte. Ich arbeite mit einem Buch zusammen und in diesem wird eben ImageIcon benutzt daher hab e ich mich an die Vorlage gehalten
@kuchen ja das b ild liegt im projekt ordner.
 
Zuletzt bearbeitet von einem Moderator:

Java20134

Bekanntes Mitglied
Hast du geguckt, ob das Bild nur in dem Explorer vorhanden ist oder hast du auch geguckt, dass das Bild in der Entwicklungsumgebung vorhanden ist?
 

Gucky

Top Contributor
Das findest du so heraus, dass du mit dem Projektexplorer bis zum Bild oder zum Ordner, in dem das Bild ist, navigieren kannst.
 

Gucky

Top Contributor
Soll das Fenster zufällig so aussehen? Anhang anzeigen 7276

Ich habe die Zeile
Java:
icon = new ImageIcon (getClass().getClassLoader().getResource("Illustration von..."));
durch
Java:
try {
	icon = new ImageIcon(ImageIO.read(getClass().getResourceAsStream("Biene.png")));
} catch (IOException e) {
	tuIrgendwasNützliches();
}
ersetzt und dann gings.
Der Pfad zum Bild war falsch, denn die Datei heißt nur Biene.png und nicht Illustration von....jpg.
Und um Bilder aus einem jar zu laden solltest du ImageIO benutzen, denn ein jar ist ZIP komprimiert.
 

Gucky

Top Contributor
Die Methode tuIrgendwasNützliches() ist ein Platzhalter für eine Methode, die die Exception verarbeitet.

Es lag daran, dass ImageIcon nicht direkt aus JARs lesen kann.
Und daran, dass der Pfad falsch war.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Fehlermeldung beim Aufruf einer Methode Java Basics - Anfänger-Themen 3
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
T Fehlermeldung beim Starten von FlashTool Java Basics - Anfänger-Themen 27
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
D Fehlermeldung beim Ausführen eines Java Programms Java Basics - Anfänger-Themen 4
S Class File Editor gibt beim Start der Programms die Fehlermeldung Source not found aus Java Basics - Anfänger-Themen 1
K Fehlermeldung beim kompilieren Java Basics - Anfänger-Themen 8
I Applet Fehlermeldung beim Starten Java Basics - Anfänger-Themen 2
J Fehlermeldung beim Einbinden des HttpClients Java Basics - Anfänger-Themen 12
K Fehlermeldung beim programm vom prof? Java Basics - Anfänger-Themen 14
S Fehlermeldung beim Kompilieren Java Basics - Anfänger-Themen 12
B Problem beim 1. Programm: Fehlermeldung Java Basics - Anfänger-Themen 4
W Fehlermeldung beim start des Tomcat Java Basics - Anfänger-Themen 4
T Fehlermeldung beim Klonen eines JPanels Java Basics - Anfänger-Themen 8
G Fehlermeldung beim Konstruktor Java Basics - Anfänger-Themen 4
H Fehlermeldung beim löschen eines Elementes aus einer JList Java Basics - Anfänger-Themen 4
G Fehlermeldung beim ausführen Java Basics - Anfänger-Themen 7
Ronny123 Erste Schritte Fehlermeldung Java Basics - Anfänger-Themen 1
F Fehlermeldung in Eclipse Java Basics - Anfänger-Themen 13
AllBlack Fehlermeldung Java Basics - Anfänger-Themen 19
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
Ostkreuz Fehlermeldung Java Basics - Anfänger-Themen 1
_so_far_away_ Fehlermeldung "Index 2 out of bounds for length 2" Java Basics - Anfänger-Themen 7
W Texteingabe - Bedeutung Fehlermeldung, Lösung? Java Basics - Anfänger-Themen 18
krgewb Fehlermeldung in web.xml Java Basics - Anfänger-Themen 4
W Warum diese Fehlermeldung? Java Basics - Anfänger-Themen 12
nbergmann Unverständliche Fehlermeldung Java Basics - Anfänger-Themen 56
E fehlermeldung bei richtigen login daten Java Basics - Anfänger-Themen 7
J Fehlermeldung im Checkstyle Java Basics - Anfänger-Themen 11
S Fehlermeldung Java Basics - Anfänger-Themen 7
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
C Fehlermeldung Array zuweisen und printen Java Basics - Anfänger-Themen 22
J Fehlermeldung Java Basics - Anfänger-Themen 22
J Fehlermeldung: A JNI error Java Basics - Anfänger-Themen 3
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
C Fehlermeldung InOut. Java Basics - Anfänger-Themen 7
B Methoden if-statement error, FX, Fehlermeldung Java Basics - Anfänger-Themen 6
A Fehlermeldung Java Basics - Anfänger-Themen 5
H Comparator Fehlermeldung Java Basics - Anfänger-Themen 5
D Folgende Fehlermeldung bei der Installation von JAVAFX Java Basics - Anfänger-Themen 1
M Java heap space Fehlermeldung beheben Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
S Bitte Hilfe zu Fehlermeldung am Handy Java Basics - Anfänger-Themen 2
H fehlermeldung Java Basics - Anfänger-Themen 447
H fehlermeldung Java Basics - Anfänger-Themen 9
C Fehlermeldung mit Intger. Java Basics - Anfänger-Themen 3
A Fehlermeldung Java Basics - Anfänger-Themen 3
D Wie kann man eine solche Fehlermeldung abfangen Java Basics - Anfänger-Themen 4
H Fehlermeldung bei der Ausführung eines Compilierten PRGs Java Basics - Anfänger-Themen 9
x-tshainge Fehlermeldung Java Basics - Anfänger-Themen 2
M Erste Schritte NetBeans Fehlermeldung Java Basics - Anfänger-Themen 2
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
N Fehlermeldung bei Methode Java Basics - Anfänger-Themen 12
I String index out of range Fehlermeldung Java Basics - Anfänger-Themen 4
I Fehlermeldung bei Darstellung von Arrays Java Basics - Anfänger-Themen 2
S Variablen JLabel backImagePanel Fehlermeldung Java Basics - Anfänger-Themen 3
A checkstyle Fehlermeldung Java Basics - Anfänger-Themen 1
G Compiler-Fehler Fehlermeldung Java Basics - Anfänger-Themen 3
Pr0m3theus Fehlermeldung ArrayList add Java Basics - Anfänger-Themen 12
Arabicabohne Fehlermeldung bei Eclipse Java Basics - Anfänger-Themen 23
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
TheMenox Fehlermeldung / Arrays, Enhanced For Loops Java Basics - Anfänger-Themen 16
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
Henri Fehlermeldung Java Basics - Anfänger-Themen 2
K Erste Schritte Fehlermeldung Java Basics - Anfänger-Themen 2
I Fehlermeldung: Java does not contain a main type Java Basics - Anfänger-Themen 1
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
J Bug? Seltsame Fehlermeldung Java Basics - Anfänger-Themen 7
J Fehlermeldung else without if Java Basics - Anfänger-Themen 5
J while(nst == 0) gibt Fehlermeldung Java Basics - Anfänger-Themen 4
L Fehlermeldung Java Basics - Anfänger-Themen 6
D Erste Schritte Fehlermeldung "Syntax error on token ";", { expected after this token" Java Basics - Anfänger-Themen 13
J Launcher Fehlermeldung Java Basics - Anfänger-Themen 0
A Fehlermeldung Unklar, google hilft auch nicht weiter Java Basics - Anfänger-Themen 2
H Compiler-Fehler Fehlermeldung Kompilier Java Basics - Anfänger-Themen 4
A Fehlermeldung Unklar. Java Basics - Anfänger-Themen 1
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
D Integer Fehlermeldung exception Java Basics - Anfänger-Themen 4
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
S Vererbung Fehlermeldung: the hierarchy of the type "class name" is inconsistent Java Basics - Anfänger-Themen 10
D Fehlermeldung "com.element.JavaUpload.Manager" Java Basics - Anfänger-Themen 1
S Fehlermeldung bei format methode Java Basics - Anfänger-Themen 1
A Compiler-Fehler Fehlermeldung auf Mac Java Basics - Anfänger-Themen 3
K JDBC - Wie ist Fehlermeldung zu interpretieren Java Basics - Anfänger-Themen 3
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
N Fehlermeldung nicht nachvollziehbar Java Basics - Anfänger-Themen 5
C addActionListener(this) - Fehlermeldung Java Basics - Anfänger-Themen 8
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
G Variablen Warum bekomme ich da eine Fehlermeldung? Java Basics - Anfänger-Themen 3
C GUI - SWT - Button-Fehlermeldung Java Basics - Anfänger-Themen 5
F Input/Output IOTools Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 16
K Erste Schritte Datei gelöscht - nun Fehlermeldung Java Basics - Anfänger-Themen 2
S Fehlermeldung Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben