Handlerklasse NullPointerException 3-Schichten

Hallo,
ich probier gerade Namen aus einer Datenbank auszulesen und bekomme eine NullPointerException.
Aufbau:
- 3-Schichten-Architektur mit DB-Anbindung

Klassen:
- DB_Order
- PD_Order
- GUI_OrderHead mit Button Suchen und Textfeldern für Namen
- GUI_OrderHandler
- GUI_Start

Der Handler wirft immer eine NullPointerException aus. Der Code sieht folgendermaßen aus.

Java:
public class GUI_OrderHead extends JPanel {

	
	JTextField tf_orderNr;
	
	JLabel lb_customerName;
	JTextField tf_customerName;
	
	JButton bt_Search;
	
	public GUI_OrderHead()
	{	
		int tf_height = 20;
		int lb_height = 15;
		int tflb_leftalign = 10;
		
		lb_windowTitle = new JLabel("Kundendaten zu Auftrag :");
		lb_windowTitle.setBounds(10,10,150,lb_height);
		
		tf_orderNr = new JTextField();
		tf_orderNr.setText("1");
		tf_orderNr.setBounds(140, 5, 85, tf_height);
		
		lb_customerName = new JLabel("Nachname");
		lb_customerName.setBounds(125, 90, 100, lb_height);
		tf_customerName = new JTextField();
		tf_customerName.setEditable(false);
		tf_customerName.setBounds(125, 105, 100, tf_height);
				
		bt_Search = new JButton("Auswählen");
		bt_Search.setBounds(270,100,100,25);
		
		
		// Ereignisbehandlung
		GUI_OrderHandler gui_OrderHandler = new GUI_OrderHandler();
		bt_Search.addActionListener(gui_OrderHandler);
		
		JPanel pn_OrderHead = new JPanel();
		pn_OrderHead.setLayout(null);
		pn_OrderHead.setSize(480, 280);
		pn_OrderHead.setVisible(true);
		
		pn_OrderHead.add(lb_windowTitle);
		pn_OrderHead.add(tf_orderNr);
		pn_OrderHead.add(lb_customerName);
		pn_OrderHead.add(tf_customerName);
		
		pn_OrderHead.add(bt_Search);
	}
		
	
		
	public Component getPanelOrderHead() // Zum aufrufen in der Startklasse oder geht's anders?
	{	
		JPanel pn_OrderHead = new JPanel();
		pn_OrderHead.setLayout(null);
		pn_OrderHead.setSize(480, 280);
		pn_OrderHead.setVisible(true);
		
		pn_OrderHead.add(lb_customerName);
		pn_OrderHead.add(tf_customerName);
		pn_OrderHead.add(bt_Search);
	return pn_OrderHead;	
	}	
}

Die Klasse mit dem Handler ...

Java:
public class GUI_OrderHandler implements WindowListener, ActionListener{

	private GUI_OrderHead gui_OrderHead;
	private GUI_OrderPosition gui_OrderPosition;
	private PD_Order pd_Order;
	
	

	

	public GUI_OrderHandler() 
	{	
		this.pd_Order = pd_Order;
		this.gui_OrderHead = gui_OrderHead;
		this.gui_OrderPosition = gui_OrderPosition;
	}	


	@Override
	public void actionPerformed(ActionEvent e) 
	{
		// TODO Auto-generated method stub
		
		
		if (e.getActionCommand().equals("Suchen"))
		{
			System.out.println("Suchen Button betätigt!");
			try 
			{
				setCustomerTextfields(1);
//				GUI_OrderPositionTableModel optm = new GUI_OrderPositionTableModel(pd_Order.getAllOrderPositions(2));
//				optm.fireTableDataChanged();
				
//				GUI_OrderPosition(pd_Order.getAllOrderPositions(2));
//				System.out.println(gui_OrderHead.tf_orderNr.getText());
//				setCustomerTextfields(1);
				
				
				int orderNrInt = Integer.valueOf(gui_OrderHead.tf_orderNr.getText());
				setCustomerTextfields(1);
			} 
			catch (Exception e1) 
			{
				e1.printStackTrace();
			}
		}
		
	}

	@Override
	public void windowActivated(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowClosed(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowClosing(WindowEvent arg0) {
		System.exit(0);
		
	}

	@Override
	public void windowDeactivated(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowDeiconified(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowIconified(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void windowOpened(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	

	
	public void setCustomerTextfields(int orderNr) throws Exception
	{
		Customer orderCustomer = pd_Order.getOrderCustomer(orderNr); //Datenbankabfrage funktioniert, abe trotzdem Fehlermeldung wohl hier!
		gui_OrderHead.tf_customerName.setText(orderCustomer.getCustomerName());
	}	
	
}

Aus der folgenden Klasse wird alles vorerst gestartet...

Java:
public class GUI_Order extends JFrame {

	PD_Order pd_Order = new PD_Order();
	GUI_OrderHandler gui_orderHandler = new GUI_OrderHandler();
	
	
	
	GUI_Order() throws Exception
	{
		HashMap <Integer, OrderPosition> orderPositions = pd_Order.getAllOrderPositions(1);
		
		addWindowListener(gui_orderHandler);
		GUI_OrderHead gui_OrderHead = new GUI_OrderHead();
		GUI_OrderPosition gui_OrderPosition = new GUI_OrderPosition();
		
		Container cp = getContentPane();
		cp.setLayout(null);
		cp.setPreferredSize(new Dimension(800,600));	
		cp.add(gui_OrderHead.getPanelOrderHead());
		cp.add(gui_OrderPosition.getPanelOrderposition());
		pack();		
	}	
}
Ich kann mir die folgende Exception nicht erklären, da die Textfelder doch vorhanden sind.


Suchen Button betätigt!
java.lang.NullPointerException
at accounting.ui.GUI_OrderHandler.setCustomerTextfields(GUI_OrderHandler.java:128)
at accounting.ui.GUI_OrderHandler.actionPerformed(GUI_OrderHandler.java:46)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


Hat einer eine Idee? Ich sitze schon seit 2 Tage an dem Problem und habe verschiedene Sachen probiert. Die Positionen sollen dann natürlich auch noch aktualisert werden, aber ich brauche unbedingt einen vernünftigen Ansatz.
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Java:
    public GUI_OrderHandler() 
    {   
        this.pd_Order = pd_Order;
        this.gui_OrderHead = gui_OrderHead;
        this.gui_OrderPosition = gui_OrderPosition;
    }

???:L Macht kein Sinn oder? :)

(vor allem nicht wenn sie
Code:
null
sind! :p)
 

Crian

Top Contributor
Vermutlich brauchst du sowas:

Java:
    public GUI_OrderHandler(Xxx pd_Order, Xxx gui_OrderHead, Xxx gui_OrderPosition) 
    {   
        this.pd_Order = pd_Order;
        this.gui_OrderHead = gui_OrderHead;
        this.gui_OrderPosition = gui_OrderPosition;
    }
So überschreibst du die Felder mit sich selbst.
 
Mal so neben bei....

DER HAMMER, DANKE !!!

Läuft noch nicht perfekt, aber es erscheinen wieder Texte in den Feldern!!! Hoffentlich kannst mir noch bei der Verfeinerung helfen. Ich mach jetzt echt erstmal eine Pause.
 
Funktioniert ja jetzt soweit alles super, aber ein kleines Problem hab ich immernoch. Ich möchte auf ein JTextField im MainFrame zugreifen und Texte, wie "Auftrag geladen" oder "Rechnung geladen" ausgeben. Der Debugger sagt, dass mainFrame = null ist. Wenn ich sie mit new erzeugen will, kommt ein Stackoverflow. Ich möchte bei der Menge der Formulare auf sowas im MainFrame verzichten:

Java:
		orderShowPanel = new OrderShowPanel();
		this.orderShowHandler = new OrderShowHandler(this, orderShowPanel);
		orderShowPanel.addActionListener(orderShowHandler);

Sollen ja auch nicht alle Formulare erzeugt werden. Muss das vielleicht dann wieder über den JTree passieren? Über die setForm-Methode lade ich lediglich das Panel rein, in dem der zugehörige Handler aufgerufen wird.

Der Konstruktor und das Stück davor, des Orderhandler sieht jetzt so aus...

Java:
	private	OrderShowPanel orderShowPanel;
	private OrderPosTableModel orderPosTableModel;
	private MainFrame mainFrame;

	public OrderShowHandler(MainFrame mainFrame, OrderShowPanel orderShowPanel) throws Exception 
	{		
		this.orderShowPanel = orderShowPanel;			
		this.orderPosTableModel = new OrderPosTableModel();
		this.mainFrame = mainFrame;
	}
im actionPerformed

Java:
this.mainFrame.getTf_ErrorMessage().setText("Auftrag geladen");

Steht jetzt das. Im OrderPanel wird der Konstruktor entsprechend aufgerufen. Ich will einfach nur das Textfeld sichtbar und editierbar haben. Beim TreeHandler ist das Mainframe ja nicht null, wo liegt denn hier schon wieder der Fehler? Ich hab es auch schon mit einer static-Methode getInstance() von MainFrame versucht, das Frame immer sichtbar ist, war aber auch ohne Erfolg.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
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
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
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
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
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
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben