Swing NullPointerException und JXImageView

Groeg

Mitglied
Hallo zusammen!

Ich bin gerade dabei ein kleines Programm zu schreiben, mit dem man jeweils vier Bilder einer Pflanze und den dazugehörigem deutschen und botanischem Namen speichern kann, und dann in den Quizmodus gehen kann um die richtigen Namen einzugeben.
Als probate Lösung für die Bilder scheint mir das JXimageView-Widget aus SwingX-1.4.6, da es wunderbar mit Drag&Drop funktioniert.
Um die Daten auf die Platte zu packen will ich mit ObjectOutputStream arbeiten, also ganze Objekte in eine Datei speichern.

Ich bin jetzt so weit, dass ich ein Fenster habe, mit dem ich nach o.g. Schema eine Pflanze anlegen kann. Wenn ich auf "Speichern" klicke bekomme ich dann eine NullpointerException:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at gui.NeuePflanze$3.mouseClicked(NeuePflanze.java:166)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
	at java.awt.Component.processMouseEvent(Component.java:6528)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6290)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
	at java.awt.Container.dispatchEventImpl(Container.java:2278)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Hier noch der Event-Handler, der das Speichern auslösen soll:

Java:
JButton btnSaveEnd = new JButton("Speichern & Ende");
		btnSaveEnd.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				

					
					try {
						 Pflanze currentPflanze = new Pflanze(textNameLatein.getText(), textNameDeutsch.getText(), bildContainer1.getImage(), bildContainer2.getImage(), bildContainer3.getImage(), bildContainer4.getImage());
						 currentPflanze.PflanzeSpeichern();
						 dispose();
						
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}}});

und die Klasse, deren Objekte serialisiert und gespeichert werden sollen:
Java:
import java.awt.Image;
import java.io.*;

public class Pflanze extends ObjectOutputStream implements Serializable {
	
	@Override
	  protected void writeStreamHeader() throws IOException {

		reset();
		
	}
	
	private String nameBotanisch, nameDeutsch;
	private Image bild1, bild2, bild3, bild4;

	public Pflanze(String nameBotanisch, String nameDeutsch, Image bild1, Image bild2, Image bild3, Image bild4) throws IOException {
				
		this.nameBotanisch = nameBotanisch;
		this.nameDeutsch = nameDeutsch;
		this.bild1 = bild1;
		this.bild2 = bild2;
		this.bild3 = bild3;
		this.bild4 = bild4;
		
		
	}
	
	public void PflanzeSpeichern() {
	

		FileOutputStream streamspeichern = null;
		ObjectOutputStream o = null;
	
		try
		{
		  streamspeichern = new FileOutputStream( "daten.ser" );
		  o = new ObjectOutputStream( streamspeichern );
		  o.writeObject( this );
		  
	 

		  
		}
		catch ( IOException e ) { System.err.println( e ); }
		finally { try { o.close(); } catch ( Exception e ) { e.printStackTrace(); } }
		          try { streamspeichern.close(); } catch ( Exception e ) { e.printStackTrace(); }
	}

	
	public Pflanze PflanzeLaden() {
		
		
		Pflanze currentPflanze = null;
		Object currentObject = null;
		FileInputStream streamladen = null;
		ObjectInputStream i = null;
		
		try
		{
		  streamladen = new FileInputStream( "daten.ser" );
		  i = new ObjectInputStream(streamladen);
		  try {
			currentObject = i.readObject();
		} catch (ClassNotFoundException e) {
			
			e.printStackTrace();
		}
		
		  if (currentObject instanceof Pflanze) {
			    currentPflanze = (Pflanze)currentObject;
		  }
		   
		}
		
		catch ( IOException e ) { System.err.println( e ); }
		finally { try { i.close(); } catch ( Exception e ) { e.printStackTrace(); } }
		          try { streamladen.close(); } catch ( Exception e ) { e.printStackTrace(); }
				
		
	    return currentPflanze;
	}
	
}

Hat jemand eine Idee?

Ich danke euch!

Grüße,
Georg
 

Joose

Top Contributor
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at gui.NeuePflanze$3.mouseClicked(NeuePflanze.java:166)

Hat jemand eine Idee?

Oben steht die Fehlermeldung und die Datei inkl. Zeile wo der Fehler passiert!
Eines der Objekte welches du verwendest ist nicht initialisiert! Daher die NullPointerException.

Mit dem vorhandenen Code kann ich leider nicht erkennen um welche Zeile es sich genau handelt wo die Exception fliegt und auch nicht warum.
 

Flown

Administrator
Mitarbeiter
Also dann wird einer der getter null sein.
Code:
System.out.println();
sollte abhilfe schaffen.
 

Groeg

Mitglied
ich hab die o.g. Klasse mit dem Event-Handler nochmals in NetBeans geschrieben. Jetzt funktioniert das ganze.
Ich kann nur den Fehler gerade nicht reproduzieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 Nullpointerexception bei toArray() AWT, Swing, JavaFX & SWT 9
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Nullpointerexception wegen TableView AWT, Swing, JavaFX & SWT 2
ZH1896ZH JavaFX kann NullPointerException nicht auflösen... :( AWT, Swing, JavaFX & SWT 3
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
J NullPointerException bei getText() AWT, Swing, JavaFX & SWT 3
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
K JavaFX Pfad öffen NullPointerException AWT, Swing, JavaFX & SWT 4
H SWT NullPointerException bei Zugriff auf Variablen des Hauptfensters AWT, Swing, JavaFX & SWT 6
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
J JTable verursacht NullPointerException.Ratlos. AWT, Swing, JavaFX & SWT 5
C JButton NullPointerException AWT, Swing, JavaFX & SWT 2
Q getGraphics() - NullPointerException AWT, Swing, JavaFX & SWT 8
C NullPointerException im MVC Muster AWT, Swing, JavaFX & SWT 9
V Nullpointerexception (etwas mit thread und jframe) AWT, Swing, JavaFX & SWT 3
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
R NullPointerException AWT, Swing, JavaFX & SWT 16
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
C SWT NullPointerException AWT, Swing, JavaFX & SWT 12
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
B NullPointerException bei JFrame AWT, Swing, JavaFX & SWT 2
D JPanel / NullPointerException AWT, Swing, JavaFX & SWT 4
G LookAndFeel Dynamisches Einlesen von LookAndFeels - NullPointerException AWT, Swing, JavaFX & SWT 4
E Login wird durch NullPointerException abgebrochen AWT, Swing, JavaFX & SWT 10
K NullPointerException ohne CodeLink AWT, Swing, JavaFX & SWT 6
L NullPointerException JFreeChart AWT, Swing, JavaFX & SWT 10
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
H Swing NullPointerException in JTable bei vielen Einträgen AWT, Swing, JavaFX & SWT 2
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
X JList Probleme mit NullPointerException AWT, Swing, JavaFX & SWT 3
S NullPointerException bei Aufruf von updateUI() beim JFrame AWT, Swing, JavaFX & SWT 12
Z NullPointerException bei SplashScreen AWT, Swing, JavaFX & SWT 5
C NullPointerException bei Doppelpufferung AWT, Swing, JavaFX & SWT 3
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
K NullPointerException bei JTextField AWT, Swing, JavaFX & SWT 8
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
D javax.swing.Timer bringt NullPointerException AWT, Swing, JavaFX & SWT 4
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
A NullPointerException in einer JList AWT, Swing, JavaFX & SWT 7
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
A NullPointerException - warum? AWT, Swing, JavaFX & SWT 5
G NullPointerException bei Aufruf von JTabbedPane.getSelectedI AWT, Swing, JavaFX & SWT 7
G Problem mit NullPointerException AWT, Swing, JavaFX & SWT 11
M JTable verursacht NullPointerException AWT, Swing, JavaFX & SWT 8
M NullPointerException AWT, Swing, JavaFX & SWT 3
J NullPointerException bei getSelectedItem AWT, Swing, JavaFX & SWT 10
G Bekomme immer: NullPointerException AWT, Swing, JavaFX & SWT 2
G Anonyme Instanz von JXImageView erstellen und mit Bild initialisieren AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen


Oben