NullPointerException Fehler ?

Status
Nicht offen für weitere Antworten.

kaper28

Bekanntes Mitglied
Hallo, warum kriege ich immer diese Fehlermeldung obwohl eclipse mir keine fehler an den Code zeigt.


Exception in thread "main" java.lang.NullPointerException
at betrachter.Bildbetrachter.initGUI(Bildbetrachter.java:112)
at betrachter.Bildbetrachter.<init>(Bildbetrachter.java:69)
at betrachter.MainKlasse.main(MainKlasse.java:8)


hier der Code




Code:
package betrachter;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Bildbetrachter extends JFrame {

	//für die Schaltflächen
	private JButton oeffnen, beenden, oeffnenSchau, beendenSchau;
	//für die Eingabe
	private JTextField eingabe;
	//für die Anzeige
	private BildPanel bildAnzeige, bildAnzeigeSchau;
	//für die Anpassung
	private JCheckBox skalieren;
	private JSpinner drehfeld;
	private JLabel anzeige;
	private int anzeigeDauer;

	// die innere Klasse mit dem Listener 
	class MeinListener implements ActionListener, ChangeListener {

		@Override
		public void actionPerformed(ActionEvent e) {

			if (e.getActionCommand().equals("Ende"))
				System.exit(0);

			if (e.getActionCommand().equals("Laden"))
				BildLaden();

			if (e.getActionCommand().equals("LadenSchau"))
				bilderschau();

		}

		public void stateChanged(ChangeEvent e) {

			if (e.getSource() instanceof JSpinner) {

				anzeigeDauer = (Integer) drehfeld.getValue();
				try {
					Thread.sleep(anzeigeDauer * 1000);
				} catch (InterruptedException e1) {

					e1.printStackTrace();
				}
			}
		}
	}

	//der Konstruktor
	public Bildbetrachter(String titel) {
		super(titel);
		initGUI();

	}

	//die Methode zum Erstellen der Oberfläche
	private void initGUI() {
		//die Panels für die Register
		JPanel registerEinzel = new JPanel();
		JPanel registerSchau = new JPanel();

		//das TabbedPane
		JTabbedPane panelKomplett = new JTabbedPane();

		//das Register für die Einzelanzeige
		//eine neue Instanz für das Panel mit der Grafik erzeugen
		bildAnzeige = new BildPanel();

		//die Komponenten erstellen und einbauen
		registerEinzel.setLayout(new FlowLayout(FlowLayout.LEFT));
		registerEinzel.add(bildAnzeige);

		oeffnen = new JButton("Bild laden");
		beenden = new JButton("Beenden");

		oeffnen.setActionCommand("Laden");
		beenden.setActionCommand("Ende");

		eingabe = new JTextField(20);

		skalieren = new JCheckBox("Anpassen");

		registerEinzel.add(new JLabel("Bilddatei: "));
		registerEinzel.add(eingabe);
		registerEinzel.add(skalieren);

		registerEinzel.add(oeffnen);
		registerEinzel.add(beenden);

		//die Listener verbinden
		MeinListener listener = new MeinListener();

		oeffnen.addActionListener(listener);
		beenden.addActionListener(listener);
		drehfeld.addChangeListener(listener);

		//das Register für die Bilderschau
		//eine neue Instanz für das Panel mit der Grafik erzeugen

		bildAnzeigeSchau = new BildPanel();

		//die Komponenten erstellen und einbauen
		registerSchau.setLayout(new FlowLayout(FlowLayout.CENTER));
		registerSchau.add(bildAnzeigeSchau);

		JLabel label = new JLabel("Anzeige Dauer");
		SpinnerNumberModel modell = new SpinnerNumberModel(5, 0, 10, 1);
		JSpinner drehfeld = new JSpinner(modell);
		oeffnenSchau = new JButton("Bilder laden");
		beendenSchau = new JButton("Beenden");
		oeffnenSchau.setActionCommand("LadenSchau");
		//die Schaltfläche zum Beenden bekommt dasselbe ActionCommand wie im anderen Register
		beendenSchau.setActionCommand("Ende");

		registerSchau.add(label);
		registerSchau.add(drehfeld);
		registerSchau.add(oeffnenSchau);
		registerSchau.add(beendenSchau);

		//die Listener verbinden
		oeffnenSchau.addActionListener(listener);
		beendenSchau.addActionListener(listener);

		//und nun alles zusammenbauen

		panelKomplett.add("Einzelbild", registerEinzel);
		panelKomplett.add("Bilderschau", registerSchau);

		add(panelKomplett);

		//Größe setzen, anzeigen, keine Größenänderungen zulassen und Standard-Verhalten festlegen
		setSize(360, 450);
		setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	// die Methoe zum laden eine bildes über den Dialog-fenster 
	private void BildLaden() {
		// einen standart dialog erzeugen 
		BildbetrachterDialog dialog = new BildbetrachterDialog();

		// die rückgabe holen
		String datei = dialog.dialogZeigen();
		// wenn eine datei ausgewählt wurde laden 

		if (datei != null) {
			bildAnzeige.grafikLaden(datei, skalieren.isSelected());

			// den namen der datei im eibgaefeld anzeigen

			eingabe.setText(datei);

		}
	}

	// die methode zur anzeige der Bilderschau 
	private void bilderschau() {
		// einen standart dialog erzeugen
		BildbetrachterDialog dialogSchau = new BildbetrachterDialog();

		// die rückgabe holen und in einem Array von typ file legen 

		File[] datein = dialogSchau.dialogZeigenMehrere();

		// wenn eine datei ausgewählt wurde alle zeigen

		if (datein != null) {
			for (File datei : datein) {
				bildAnzeigeSchau.grafikLaden(datei.toString(), true);

			}

		}
	}
}

die MainKlasse
Code:
package betrachter;

public class MainKlasse {
public static void main(String[] args) {
	
	

		new Bildbetrachter("Aufgabe 2");
	
	}

}
 
S

SlaterB

Gast
weil drehfeld null ist, erst 10 Zeilen später gesetzt wird,
ein Compiler kann dir sowas nicht sagen, das erfordert Intelligenz/ Ablaufanalyse (im Gegensatz etwa zu einfachen Typprüfungen),

dass du das nicht siehst sagt dann auch was aus, aber das wollen wir mal nicht näher thematisieren ;)

----

wenn du
> JSpinner drehfeld = new JSpinner(modell);
schreibst, bleibt das Klassenattribut übrigens null, es wird eine gleichnamige lokale Variable angelegt,
schreibe

drehfeld = new JSpinner(modell);
 
S

Shad0w

Gast
In Zeile 113 deines (hier angegebenen) Codes ist die Variable drehfeld == null.
Du kannst dann nicht darauf mit dem Punktoperator zugreifen.

Also Ausschneiden und Einfügen: die Zeilen 125-126 vor die Zeile 113.

So dass da steht:

SpinnerNumberModel modell = new SpinnerNumberModel(5, 0, 10, 1);
JSpinner drehfeld = new JSpinner(modell);
drehfeld.addChangeListener(listener);
 
S

shad0w

Gast
Slaters Lösung ist die korrekte. Also keine neue lokale Variable anlegen.

SpinnerNumberModel modell = new SpinnerNumberModel(5, 0, 10, 1);
drehfeld = new JSpinner(modell);
drehfeld.addChangeListener(listener);
 

kaper28

Bekanntes Mitglied
SlaterB hat gesagt.:
weil drehfeld null ist, erst 10 Zeilen später gesetzt wird,
ein Compiler kann dir sowas nicht sagen, das erfordert Intelligenz/ Ablaufanalyse (im Gegensatz etwa zu einfachen Typprüfungen),

dass du das nicht siehst sagt dann auch was aus, aber das wollen wir mal nicht näher thematisieren ;)

----

wenn du
> JSpinner drehfeld = new JSpinner(modell);
schreibst, bleibt das Klassenattribut übrigens null, es wird eine gleichnamige lokale Variable angelegt,
schreibe

drehfeld = new JSpinner(modell);

Hallo Slater , ich weiß auch das ist nicht so ganz inteligent bin aber ich werde es schaffen , ich muß es schaffen ....


nur ich habe es nicht ganz verstanden ...
 
S

SlaterB

Gast
du kannst kein Geld ausgeben, bevor du es nicht in dein Portmonnaie gelegt hast

<->

du kannst auf eine Variable nicht zugreifen, solange sie kein Objekt enthält

int x = y*y;
System.out.println("x ist: "+x);
int y = 4;

würdest du doch auch nicht schreiben oder?
Code braucht eine Reihenfolge
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
R NullPointerException ,wo liegt der Fehler? Java Basics - Anfänger-Themen 2
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
M NullPointerException - Fehler beheben, nur, wo liegt er? Java Basics - Anfänger-Themen 13
F NullPointerException Fehler... Java Basics - Anfänger-Themen 6
S java.lang.NullPointerException Fehler bei Umrechnung Java Basics - Anfänger-Themen 3
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben