Compiler-Fehler NullPointerException

J

java12

Gast
warum ergibt dieser code[JAVA=56] NodeList ship2gekauft2 = docSherd.getElementsByTagName("ship2gekauft");
Element ship2gekauft = (Element) ship2gekauft2.item(0);
sh = "" +ship2gekauft.getTextContent();[/code]

diesen Fehler

Exception in thread "main" java.lang.NullPointerException
at mission1.AuswahlPanel.<init>(AuswahlPanel.java:58)
at mission1.Auswahl.<init>(Auswahl.java:36)
at mission1.Auswahl.main(Auswahl.java:64)


diesen Fehler?
Vielen Dnak schonmal im vorraus.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Dann ist ship2gekauft
Code:
null
. Das kann nur passieren wenn
Code:
[STRIKE]docSherd.getElementsByTagName("ship2gekauft")[/STRIKE]
Code:
(Element) ship2gekauft2.item(0)
null zurückliefert.

EDIT:
Jo, falsche Zeile kopiert ;)

EDIT2:
Und trotzdem auf die richtige Zeile getippt :bae:
 
Zuletzt bearbeitet von einem Moderator:

XHelp

Top Contributor
@EikeB, du meinst höchstwahrscheinlich "wenn
Code:
ship2gekauft2.item(0)
null zurückliefert.
Es steht in JavaDoc, dass da null zurückkommt, wenn es kein gültiger Index ist. In diesem Fall hat ship2gekauft2 einfach keine Elemente.
 
J

java12

Gast
okay ich habe es gelöst hätte so sein müssen:
Java:
NodeList  ship2gekauft2 = docSherd.getElementsByTagName("Ship2Gekauft");
 
J

java12

Gast
Jetzt habe ich ein anderes Problem und ich will dafür keinen neuen Thread aufmachen.

Aso wenn ich über die Klasssen Auswahl
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;

import Installer.InstallerPanel;
import Installer.Installerweiter;


@SuppressWarnings("serial")
public class Auswahl  extends JFrame{
	
	private static String title = "Star Evolution Mission 1 Schiffauswahl";
	private static int breite = 1280;
	private static int hoehe = 1024;
	private Dimension dim;
	private AuswahlPanel panel;
	
	@SuppressWarnings("static-access")
	public Auswahl(String title, int breite, int hoehe) throws ParserConfigurationException, SAXException, IOException {
		super(title);
 		this.breite = breite;
		this.hoehe = hoehe;
		this.title = title;
		dim = new Dimension(breite, hoehe);
		
		panel = new AuswahlPanel();
		Color c = new Color(0,33,127);
		panel.setBackground(c);
		
		setMaximumSize(dim);
		setMinimumSize(dim);
		setPreferredSize(dim);
		
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setResizable(false);
		
		add(panel);
		setVisible(true);
		for (int i = 0; i < 100000000 ; i++) {
			System.out.println();
			if(AuswahlPanel.inte == 1) {
				i = i + 1000000000;
				removeAll();
				setVisible(false);
				setFocusable(false);
		}
		}
		
		
	}
	
	public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
		new Auswahl(title, breite, hoehe);
	}

	
	
}
und AuswahlPanel
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

public class AuswahlPanel extends JPanel implements ActionListener
{
	Ship1 s = new Ship1();
	Ship2 s1 = new Ship2();
	private JTextField text;
	private JTextField texte;
	private static JButton button;
	private static JButton button2;
	private JLabel label;
	private Auswahl Auswahl;
	private Mission1Haupt m;
	static int inte;
	public String sh ;

	 

		
		public AuswahlPanel() throws ParserConfigurationException, SAXException, IOException {
			super();
					
			  DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
			    documentBuilderFactory.setNamespaceAware(true);
			    documentBuilderFactory.setValidating(false);
			    DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
			    documentBuilder.setErrorHandler(new SherdErrorHandler() );
			    File s = new File(System.getProperty("user.home") + "\\Documents\\My Games\\Star Evolution\\data1.xml");
			    Document docSherd = documentBuilder.parse(s);
			    

			    NodeList  ship2gekauft2 = docSherd.getElementsByTagName("Ship2Gekauft");
			   Element ship2gekauft = (Element) ship2gekauft2.item(0);
			   sh = ""+ship2gekauft.getTextContent();

		
		  text = new JTextField("");
		  text.setColumns(10);
		  label = new JLabel ("");
		  label.setForeground(Color.white);
		  
		  button = new JButton("Bestätigen");
		  button2 =new JButton("Zurück zum Menü");
		  button.addActionListener(this);
		  button2.addActionListener(this);
		  add(text);
		  add(button);
		  add(label);
		  add(button2, BorderLayout.PAGE_END);
			  
			} 
			


public class SherdErrorHandler implements ErrorHandler
{
  @Override
  public void error(SAXParseException arg0) throws SAXException
  {
    throw arg0;
  }

  @Override
  public void fatalError(SAXParseException arg0) throws SAXException
  {
    throw arg0;
  }

  @Override
  public void warning(SAXParseException arg0) throws SAXException
  {
    throw arg0;
  }

}
		public void paint(Graphics g) {
			super.paint(g);
			if(s.getImage() != null) {
				g.drawImage(s.getImage(), getWidth()/8, getHeight()-800, this);
			}
		
		if(sh.equals("true")) {
					if(s1.getImage() != null) {
						g.drawImage(s1.getImage(), getWidth()/8, getHeight()-760, this);
						g.setColor(Color.WHITE);
						g.drawString("Schiff 2", 195, 255);
					}
		}
					g.setColor(Color.WHITE);
					g.drawString("Schiff 1", 195, 215);
					g.drawString("Schiffwahl:", 350, 22);
					
			g.dispose();
		
		}
		public void actionPerformed(ActionEvent object) {
		       if (object.getSource() == button ){
		    	   String a = new String("Schiff 1");
		    	   String b = new String("Schiff 2");
		    	   String c = new String(text.getText());
		    	  
					if(sh.equals("true")) {
						 if(b.equals(c)) {
							 inte++;
						     new Mission1Haupt();
		       }
					}
		       
						 if(a.equals(c)) {
							
							inte++;
							Mission1Haupt.ka = 1;
							new Mission1Haupt();
							
							
					       }
						 if(!b.equals(c)) {
							 if(!a.equals(c)) {
								 label.setText("Eingabe falsch!");
								
							 }
							 
		       }
						
			
		}
		       if (object.getSource() == button2 ){
					 inte++;
					 new MissionAuswahl.MissionAuswahl();
				 }
}
}
wenn ich da Schiff 1 oder 2 eingebe dann öffnet sich die Klasse Mission1 Haupt aber die Aliens spielen verrückt.Wenn ich sie normal öffne dann nicht.Welche Klassen bräuchtet ihr noch dafür um das zu enträtseln?
 

HimBromBeere

Top Contributor
wenn ich da Schiff 1 oder 2 eingebe dann öffnet sich die Klasse Mission1 Haupt
WO gibst du WAS ein? Im Übrigen "öffnet" man nicht einfach eine Klasse, sondern führt Methoden innerhalb der Klasse (genauer innerhalb der Instanz derselben) aus...

aber die Aliens spielen verrückt.
Heißt genau was?

Wenn ich sie normal öffne dann nicht
Wie öffnest du denn die Klasse "normal"?

Welche Klassen bräuchtet ihr noch dafür um das zu enträtseln?
Warscheinlich die Alien-Klasse. Übrigens ist es nicht von Nöten, ganze Klassen in deine Beiträge zu schreiben, sondern nur die wirklich relevanten Teile. Wenn irgendwas falsch gezeichnet wird, wäre z.B. eine paint-Methode deines Frames (bzw. des Zeichenpanels) ganz nett.

[EDIT]OK... zumindest paint hab ich schonmal gefunden, war nur etwas ungnstig eingerückt.[/EDIT]
[EDIT]
Java:
setVisible(true);
        for (int i = 0; i < 100000000 ; i++) {
            System.out.println();
            if(AuswahlPanel.inte == 1) {
                i = i + 1000000000;
                removeAll();
                setVisible(false);
                setFocusable(false);
        }
GAAAAAANZ Schlecht!! Erstens: was hat setVisible im Konstruktor verloren? Antwort: nichts! Zweitens: Warum durchläufst du diese Schleife eine scheinbar willkürliche (ziemlich lange) Zeit? Willst du dein Programm in einer "Endlosschleife" laufen lassen?[/EDIT]
[EDIT]Wenn ich noch einen EDIT hab, mach ich glaub lieber einen neuen Beitrag, bevor der jetzoge sich über 400 A4-Seiten erstreckt...[/EDIT]
 
Zuletzt bearbeitet:
J

java12

Gast
Also zuerst mal zu deinen 2. edit das ist keine endlosschleife sondern eine schleife wo das fenster wegmacht.
und der javacode hat null mit den aliens zu tun ich gebe dir jetzt mal eine alienklasse(das ist die klassse wo die aliens gezeichnet werden.)und eine Frage: Soll ich dir auch die Klasse geben wo die Aliens bewegt werden?A´ch ja und normal starten heißt wenn ich die Klasse mIssion1Haupt starte aber der fehler kommt nur wenn ich es über die klasse auswahl starte.

Java:
public class Mission1Haupt extends Thread {

	public static boolean running = false;
	public static boolean running2 = false;
	public static int ka = 0;
	{
		if(Mission1Haupt.ka== 0 ) {
			running2 = true;
			}
		if(Mission1Haupt.ka== 1 ) {
			running = true;
			}
		new Mission1("Star Evolution Mission 1", 1280,1024 );
		
}
		public static void main(String[] args)  {
			if(Mission1Haupt.ka== 0 ) {
				running2 = true;
				}
			if(Mission1Haupt.ka== 1 ) {
				running = true;
				}
			new Mission1("Star Evolution Mission 1", 1280,1024 );
			
	}

}

Java:
mport java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import javax.swing.JPanel;

public class GamePanel1 extends JPanel {


	
	private ShipEntity1 s1 = new ShipEntity1("ship.png", 300, 400, 10);
	private ShipEntity2 s2 = new ShipEntity2("ship2.png", 300, 400, 20);
	private Player1 p = new Player1("Spieler1", new Input1(KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT, KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_SPACE));
	private Player1[] players = {p};
	private ShipEntity1[] ships = {s1};
	private ShipEntity2[] ships2 = {s2};
	private Input1 input = p.getInputHandler();
	private MoveShipThread1 mt = new MoveShipThread1(players, ships, this);
	private MoveShipThread2 mt2 = new MoveShipThread2(players, ships2, this);
	public static GamePanel1 gp;
	public static int inte50 = 0;
	public static int inte51 = 0;
	public static int inte52 = 0;
	
	public GamePanel1() {
		super();

		gp = this;
		gp.addKeyListener(input);
		gp.setFocusable(true);
		if(Mission1Haupt.ka<= 0 ) {
			EntityManager1.entitylist.add(s2);
			}
		if(Mission1Haupt.ka> 0 ) {
			EntityManager1.entitylist.add(s1);
			}
		
		int startx = 150;
		int rows = 8;
		int arows = 8;
		for(int i = 0; i < rows; i++) {
			for(int j = 0; j < arows; j++) {
				AlienEntity1 alien = new AlienEntity1("alien.png", startx+j*30, 50+i*15, i+1, j+1);
				alien.setHorizontalMovement(40);
				EntityManager1.entitylist.add(alien);
				AlienEntity1.aliens++;
			}
		}
		if(Mission1Haupt.ka> 0 ) {
		new Thread(mt).start();
		}
		if(Mission1Haupt.ka<= 0 ) {
			new Thread(mt2).start();
			}
	    
		

		
	}
	public void paint(Graphics g) {
		super.paint(g);
		if(p.points > 0) {
			g.setColor(Color.WHITE);
			g.drawString("Geld: " + p.points + "$", 10, 20);
			if(inte50 == 1) {
				inte51++;
			}
			if(inte51> 0) {
				g.setFont(new Font("" , 0, 100));
				g.drawString("Gewonnen!", 200, 200);
				Mission1Haupt.running = false;
				Mission1Haupt.running2 = false;
		
			}
			
			else if(inte52 < 0) {
				g.setFont(new Font("" , 0, 100));
				g.drawString("Verloren!", 200, 200);
				Mission1Haupt.running = false;
				Mission1Haupt.running2 = false;
		
			}
		}
			
		for(int i = 0; i < EntityManager1.entitylist.size(); i++) {
			Entity1 e = EntityManager1.entitylist.get(i);
			if(e != null) {
				if(e.getSprite().getImage() != null) {
					g.drawImage(e.getSprite().getImage(), e.getX(), e.getY(), this);
				}
			}
					
		}
		g.dispose();

}

}
	




	
	

]
 
S

SlaterB

Gast
eine NullPointerException ist kein Compilerfehler,
und da es sowieso nicht mehr um den gerade von mir geänderten Thementitel geht noch der Hinweis:
falls du auf mehr Antworten hoffst wäre ein neues Thema mit eigenen Titel doch günstig
 

HimBromBeere

Top Contributor
Also ich seh da auf Anhieb schonmal einen Fehler in Zeile 7ff in Mission1Haupt. Der ganze Anweisungsblock (bis Zeile 15) muss in eine Methode rein, die du dann z.B. aus der main aufrufst. Warum du in der den selben Code nochmal hast, ist mir auch unklar. Es müsste also so heißen:
Java:
public class Mission1Haupt extends Thread {
 
    public static boolean running = false;
    public static boolean running2 = false;
    public static int ka = 0;


    public Mission1Haupt(int option) {
        ka = option;

        if(Mission1Haupt.ka== 0 ) {
            running2 = true;
        } else if(Mission1Haupt.ka== 1 ) {
            running = true;
        }

        // was soll damit passieren? Du erstellst zwar ein neues 
        // Objekt von Mission1, aber da du es nicht referenzierst, landet es gleich wieder im Müll.
        new Mission1("Star Evolution Mission 1", 1280,1024 );  
        
    }


    public static void main(String[] args)  {
        Mission1Haupt h = new Mission1Haupt(0); // oder halt 1, je nachdem, welches running true werden soll
        // tu irgendwas mit h    
    }
 
}
 
Zuletzt bearbeitet:
J

java12

Gast
ja danke aber meinst du dass es hierdran

Java:
     int startx = 150;
        int rows = 8;
        int arows = 8;
        for(int i = 0; i < rows; i++) {
            for(int j = 0; j < arows; j++) {
                AlienEntity1 alien = new AlienEntity1("alien.png", startx+j*30, 50+i*15, i+1, j+1);
                alien.setHorizontalMovement(40);
                EntityManager1.entitylist.add(alien);
                AlienEntity1.aliens++;
            }
        }



liegen kann wenn es eine zeitverzögerung gibt
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
T imagej-server NullPointerException Allgemeine Java-Themen 1
L Methoden NullpointerException Allgemeine Java-Themen 5
B OOP Auslöser für NullPointerException Allgemeine Java-Themen 3
I Vererbung Nicht erklärliche NullPointerException Allgemeine Java-Themen 7
Drachenbauer warum bekomme ich hier eine NullPointerException Allgemeine Java-Themen 6
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
S Methoden Problem mit NullPointerException Allgemeine Java-Themen 9
F Input/Output NullPointerException, aber wieso? [Apache POI] Allgemeine Java-Themen 11
F Input/Output NullPointerException with Apache POI Allgemeine Java-Themen 7
P wiedermal NullPointerException Allgemeine Java-Themen 2
kodela NullPointerException Allgemeine Java-Themen 2
L Variablen NullPointerException (RSA) Allgemeine Java-Themen 2
B NullPointerException bei @Inject JSF Allgemeine Java-Themen 0
Arif Probleme mit NullPointerException Allgemeine Java-Themen 2
G String an Arduino senden NullPointerException in PrintWriter Allgemeine Java-Themen 6
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
R NullPointerException Ohne Grund Allgemeine Java-Themen 5
D ByteBuffer getInt NullpointerException Allgemeine Java-Themen 4
S JavaMail - MailSubject,MailFrom,MailDate in String Array speichern NullPointerException Allgemeine Java-Themen 2
T Compiler-Fehler NullpointerException! Allgemeine Java-Themen 7
A Methode ergibt Java NullpointerException. Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
L NullPointerException bei Instanzvarialen Allgemeine Java-Themen 3
B Compiler-Fehler NullPointerException beim Auslesen von .lang-Datei Allgemeine Java-Themen 3
I Fehler java.lang.NullPointerException Allgemeine Java-Themen 5
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
H java.lang.NullPointerException Allgemeine Java-Themen 5
L Interpreter-Fehler java.lang.NullPointerException Allgemeine Java-Themen 17
M JSON NullPointerException Allgemeine Java-Themen 5
M NullpointerException Allgemeine Java-Themen 2
L Eclipse NullPointerException Allgemeine Java-Themen 6
M Fitness-Rechner: NullPointerException Allgemeine Java-Themen 7
G Thread erzeugt nicht plausible NullPointerException Allgemeine Java-Themen 7
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
K Unerklärliche nullpointerexception Allgemeine Java-Themen 6
C Was bekomme ich eine Nullpointerexception? (Apache POI) Allgemeine Java-Themen 3
S javadoc java.lang.NullPointerException Allgemeine Java-Themen 2
K 3Dimensionales Feld - NullPointerException Allgemeine Java-Themen 2
T Compiler-Fehler NullPointerException bei ADT LinkedTree Allgemeine Java-Themen 31
P Beim sortieren nullpointerexception Allgemeine Java-Themen 12
3 MP3-Finder wirft NullPointerException Allgemeine Java-Themen 13
M NullPointerException MenuItem Allgemeine Java-Themen 7
S Dialog einblenden bei NullPointerException Allgemeine Java-Themen 5
T DefaultTableModel NullPointerException Allgemeine Java-Themen 7
ruutaiokwu NullPointerException auf member, die per konstruktor gesetzt wird (multithread-kontext) Allgemeine Java-Themen 2
B NullPointerException ohne Angabe Allgemeine Java-Themen 5
F NullPointerException aber warum ? Allgemeine Java-Themen 9
F Array NullPointerException Allgemeine Java-Themen 26
B NullPointerException bei Wertzuweisung Allgemeine Java-Themen 3
C NullPointerException Allgemeine Java-Themen 9
MonsterBit java.lang.NullPointerException Allgemeine Java-Themen 2
O NullPointerException (wohl Denkfehler) Allgemeine Java-Themen 5
N Warum nullPointerException? Allgemeine Java-Themen 13
N Generics-NullpointerException Allgemeine Java-Themen 7
J NullPointerException mit HashMap Allgemeine Java-Themen 2
B NullPointerException bei new XStream() Allgemeine Java-Themen 2
J java.lang.NullPointerException bei Threadprogrammierung Allgemeine Java-Themen 9
J NullPointerException bei JasperReports Allgemeine Java-Themen 2
V NullPointerException bei Vector Allgemeine Java-Themen 2
G Warum kommt hier NullPointerException? Allgemeine Java-Themen 3
G NullPointerException Allgemeine Java-Themen 5
R Immer wieder NullPointerException Allgemeine Java-Themen 2
M NullPointerException Allgemeine Java-Themen 4
J Fehler: java.lang.NullPointerException Allgemeine Java-Themen 2
G NullPointerException, aber warum? Allgemeine Java-Themen 10
G NullPointerException problem Allgemeine Java-Themen 30
mhauert NullPointerException bei Zugriff auf JNI Objekt Allgemeine Java-Themen 6
J Folgender Fehler: java.lang.NullPointerException Allgemeine Java-Themen 4
T NullPointerException nach Java Update Allgemeine Java-Themen 4
G NullPointerException Allgemeine Java-Themen 6
H NullPointerException trotz Abfangen von null? Allgemeine Java-Themen 9
H nullPointerException bei [ArrayList<String>.add(.)] Allgemeine Java-Themen 3
H NullPointerException Allgemeine Java-Themen 10
P NullPointerException Allgemeine Java-Themen 8
A NullPointerException, Thread soll Thread steuern Allgemeine Java-Themen 2
MQue Sichtbarkeit/HashMap/NullPointerexception Allgemeine Java-Themen 2
MQue NullPointerException Allgemeine Java-Themen 17
A NullPointerException Allgemeine Java-Themen 15
G java.lang.NullPointerException JFreeChart Allgemeine Java-Themen 5
A NullPointerException Allgemeine Java-Themen 11
G Methode mit Schleifen NullPointerException Allgemeine Java-Themen 2
B Pobleme mit NullpointerException Allgemeine Java-Themen 13
M java.lang.NullPointerException im Chatclient Allgemeine Java-Themen 12
S NullPointerException beim Laden von BMPs Allgemeine Java-Themen 3
B java.lang.NullPointerException Allgemeine Java-Themen 11
M NullPointerException bei Subklasse ohne MediaTracker Allgemeine Java-Themen 12
G Problem mit NullPointerException Allgemeine Java-Themen 5
D NullPointerException wo keine sein sollte. Allgemeine Java-Themen 2
F NullpointerException beim Einlesen einer Datei Allgemeine Java-Themen 13
V Button schließen - NullPointerException Allgemeine Java-Themen 6
V NullPointerException Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben