Swing [CLOSED] NullPointerException bei BorderLayout()

Sherry

Aktives Mitglied
Hallo,

ich versuche gerade mir GridBagLayout ohne GuiBuilder anzueignen. Mit dem folgenden Beispiel will ich ein Fenster erstellen, dass oben eine Menü-Leiste hat und darunter die Arbeitsfläche. Dazu setze ich in einen Container "rootContainer" ein JPanel "rootPanel", das eine menuBar vom Typ JPanel und ein "contentPanel" ebenfalls ein JPanel für die eigentlichen Formular-Elemente enthält.
Das rootPanel soll lediglich ein BorderLayout mit den Ausrichtungen NORTH, CENTER und SOUTH (für ein JPanel buttonBar) erhalten. Dagegen erhält contentPanel das GridBagLayout.

Java:
package com.example.workingdays;

import com.toedter.calendar.JDateChooser;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;

public class MainGui extends JFrame {
    public MainGui() {
        initComponents();
    }

    private void initComponents() {
        contentPanel = new JPanel();
        buttonBar = new JPanel();

        //======== this ========
        Container rootContainer = getContentPane();
        rootContainer.setLayout(new BorderLayout());

        //======== rootPanel ========
        {
            rootPanel.setBorder(new EmptyBorder(12, 12, 0, 0));
            rootPanel.setLayout(new BorderLayout());

            //======== contentPaneL ========
            {
                contentPanel.setLayout(new GridBagLayout());
                ((GridBagLayout)contentPanel.getLayout()).columnWidths = new int[] {80, 110, 96, 0};
                ((GridBagLayout)contentPanel.getLayout()).rowHeights = new int[] {0, 0, 0, 0};
                ((GridBagLayout)contentPanel.getLayout()).columnWeights = new double[] {0.0, 0.0, 0.0, 1.0};
                ((GridBagLayout)contentPanel.getLayout()).rowWeights = new double[] {0.0, 0.0, 0.0, 1.0};

                //---- Row 1 ----
                firstWorkingDayLabel.setText("Erster Arbeitstag");
                contentPanel.setBackground(Color.cyan);
                contentPanel.add(firstWorkingDayLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0));
            }
            rootPanel.add(contentPanel, BorderLayout.CENTER);

            //======== MenuBar ========
            {
                //======== Menu 1 ========
                {
                    file.setText("Datei");
                    //---- menuItems ----
                    menuItemExit.setText("Beenden");
                    file.add(menuItemExit);
                }
                menuBar.add(file);

                //======== Menu 2 ========
                {
                    help.setText("Hilfe");
                    //---- menuItems ----
                    menuItemAbout.setText("Über ...");
                    help.add(menuItemAbout);
                }
                menuBar.add(help);
            }
            rootPanel.add(menuBar, BorderLayout.NORTH);

        }

        rootContainer.add(rootPanel, BorderLayout.CENTER);
        pack();
        setTitle("Berechnung der Arbeitstage");
        setSize(500, 300);
        setResizable(true);
        setLocationRelativeTo(getOwner());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    //======== Main Methode ========
    public static void main(String[] args) {
        /* Create and display the form */
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                MainGui start = new MainGui();
                start.setVisible(true);
            }
        });
    }

    // Variables declaration
    private JPanel rootPanel;
    private JPanel contentPanel;
    private JPanel buttonBar;
    private JPanel menuBar;
    private JMenu file;
    private JMenu help;
    private JMenuItem menuItemExit;
    private JMenuItem menuItemAbout;
    private JLabel firstWorkingDayLabel = new JLabel();
    private JDateChooser firstWorkingDayDateChooser = new JDateChooser();
    private JLabel lastWorkingDayLabel = new JLabel();
    private JDateChooser lastWorkingDayDateChooser = new JDateChooser();
    private JLabel daysLabel = new JLabel();
    private JLabel resultLabel = new JLabel();
    private JButton calculateButton = new JButton();
    private JButton endButton = new JButton();
    private JButton resetButton = new JButton();
    private JCheckBox workSaturday = new JCheckBox();
    private JCheckBox christmasEve = new JCheckBox();
    private JCheckBox silvester = new JCheckBox();
    private JComboBox<String> stateComboBox = new JComboBox<String>();

    //  End of variables declaration
}

Wenn ich den Code ausführen lasse - ich nutze IntelliJ Community - erhalte ich eine NullPointerException.
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.example.workingdays.MainGui.initComponents(MainGui.java:27)
	at com.example.workingdays.MainGui.<init>(MainGui.java:14)
	at com.example.workingdays.MainGui$1.run(MainGui.java:82)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
	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.awt.EventQueue.dispatchEvent(EventQueue.java:714)
	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)

Könnt ihr mir zeigen, was ich falsch mache?

Beste Grüße

Sherry
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

der Fehler liegt in dieser Zeile
at com.example.workingdays.MainGui.initComponents(MainGui.java:27)
Dort ist was NULL .....

Formatiere bitte mal den Code mit den RICHTIGEN Tags - habe jetzt gerade keine Lust, Zeilen zu zählen !!

Gruß Klaus
 

Sherry

Aktives Mitglied
Ausserdem ein Auskommetieren der Zeile 27 führt nur zur einer Verschiebung:
Java:
//======== rootPanel ========
        {
            //rootPanel.setBorder(new EmptyBorder(12, 12, 0, 0));
            rootPanel.setLayout(new BorderLayout());
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.example.workingdays.MainGui.initComponents(MainGui.java:28)
	at com.example.workingdays.MainGui.<init>(MainGui.java:14)
	at com.example.workingdays.MainGui$1.run(MainGui.java:82)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
	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.awt.EventQueue.dispatchEvent(EventQueue.java:714)
	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)
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
hmm, lt. Deinem Code aus dm ersten Post ist dies Zeile 27:
//======== contentPaneL ========

Die richtige Tag-Verwendung steht groß in rot über dem Editor !

Gruß Klaus

EDIT
Du initialisiert das rootPanel nicht !

Sowas fehlt :
initComponents()
{
...
rootPanel = new JPanel();
 
Zuletzt bearbeitet:

Sherry

Aktives Mitglied
Welcher Editor wo rot? // Das führt doch nichts, diese Kleinigkeiten!
"Deinem Code aus dm ersten Post ist dies Zeile 27:"
hier eben Zeile 24. Ich hatte gerade eben den Code noch einmal separat gesendet.
"firstWorkingDayLabel" fällt nicht vom Himmel, sondern ist ordnungsgemäss deklariert. Der Code-part läuft auch. Probleme macht es erst mit dem Panel drum herum.
 

Joose

Top Contributor
[ot]Es geht um den Beitragseditor hier im Forum, über diesen steht beim Erstellen eines Thema groß und in roter Schrift das Java Code zwischen die dazugehörigen
Java:
-Tags gehört.[/ot]

Wie Vfl_Freak schon gesagt hat geht es darum das dein "rootPanel" nicht initialisiert ist (sondern immer noch "null" ist).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JList, valueChanged wird doppelt ausgeführt? <<closed AWT, Swing, JavaFX & SWT 2
_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
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4
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
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
L BorderLayout in BorderLayout verknüpfen AWT, Swing, JavaFX & SWT 2
M Bewegtes Bild im BorderLayout.CENTER AWT, Swing, JavaFX & SWT 6
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
C Swing Borderlayout im JFrame AWT, Swing, JavaFX & SWT 4
C Swing Geschachteltes GUI mit BorderLayout - Vertikal & horizontal Verschieben AWT, Swing, JavaFX & SWT 1
P AWT BorderLayout AWT, Swing, JavaFX & SWT 2
A BorderLayout "Center" Inhalt wechseln AWT, Swing, JavaFX & SWT 1
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
B Swing Borderlayout East über North AWT, Swing, JavaFX & SWT 5
Q JFrame/BorderLayout AWT, Swing, JavaFX & SWT 3
A LayoutManager Höhe von NORTH beim BorderLayout ändern AWT, Swing, JavaFX & SWT 4
bluerob Panel im BorderLayout South wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
M BorderLayout JPanel liegt nicht richtig an AWT, Swing, JavaFX & SWT 12
R BorderLayout AWT, Swing, JavaFX & SWT 4
C LayoutManager BorderLayout im richtigen Format beschriften AWT, Swing, JavaFX & SWT 10
C CardLayout in BorderLayout? AWT, Swing, JavaFX & SWT 36
S Problem mit BorderLayout NORTH und SOUTH AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben