Hallo,
ich versuche gerade ein Menü-Leiste in mein Programm einzufügen, bekomme aber jedes Mal eine NullPointerException. Ich habe jetzt schon einiges probiert und verwende gerade den Code aus einem Java-Tutorial, funktioniert auch nicht.
Hier Ausschnitte aus meinem Programm:
Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at guidbapp.HauptFenster.<init>(HauptFenster.java:20)
at guidbapp.GuiDBApp$1.run(GuiDBApp.java:18)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
ich versuche gerade ein Menü-Leiste in mein Programm einzufügen, bekomme aber jedes Mal eine NullPointerException. Ich habe jetzt schon einiges probiert und verwende gerade den Code aus einem Java-Tutorial, funktioniert auch nicht.
Hier Ausschnitte aus meinem Programm:
Java:
package guidbapp;
import java.io.FileNotFoundException;
import javax.swing.JFrame;
//fügt alle Komponenten zusammen, die Programm besitzt
public class HauptFenster extends JFrame{
private MenuLeiste mLeiste;
private TabbedFrame tFrame;
public JFrame frame;
public HauptFenster() throws FileNotFoundException{
setTitle("Datenbank GUI");
mLeiste = new MenuLeiste();
tFrame = new TabbedFrame();
frame.setJMenuBar(mLeiste.createMenuBar());
//frame.add(tFrame);
}
}
Java:
package guidbapp;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
//Hier wird festgelegt, welche Felder die Menü-Leiste besitzt
public class MenuLeiste{
/*
JMenuBar menuLeiste = new JMenuBar();
JMenu menuDatei = new JMenu("Datei");
JMenu menuBearbeiten = new JMenu("Bearbeiten");
JMenuItem menuEintragOeffnen = new JMenuItem("Datei öffnen");
*/
public MenuLeiste(){}
public JMenuBar createMenuBar(){
JMenuBar menuLeiste;
JMenu menu, submenu;
JMenuItem menuItem;
menuLeiste = new JMenuBar();
menu = new JMenu("Datei");
menu.setMnemonic(KeyEvent.VK_A);
menu.getAccessibleContext().setAccessibleDescription("Das einzige Menü mit Unterpunkten");
menuLeiste.add(menu);
menuItem = new JMenuItem("Öffnen", KeyEvent.VK_T);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));
menuItem.getAccessibleContext().setAccessibleDescription("This doesn't do really anything");
menu.add(menuItem);
menuLeiste.add(menu);
return menuLeiste;
}
}
Java:
package guidbapp;
import java.awt.EventQueue;
import java.io.FileNotFoundException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
public class GuiDBApp {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
HauptFenster frame = null;
try {
frame = new HauptFenster();
} catch (FileNotFoundException ex) {
Logger.getLogger(GuiDBApp.class.getName()).log(Level.SEVERE, null, ex);
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
});
}
}
Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at guidbapp.HauptFenster.<init>(HauptFenster.java:20)
at guidbapp.GuiDBApp$1.run(GuiDBApp.java:18)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)