Hallo Leute!
Ich möchte in meiner Anwendung CardLayout nutzten habe aber folgendes Problem:
Ich will mehrere JPanel mit hilfe von CardLayout überlagern, bekomme aber folgende Fehlermeldung:
Könnte mir jemand auf mein Fehler hinweisen und eine mögliche Lösung vorschlagen?
Währe sehr dankbar (ich habe noch nie mit CardLayout gearbeitet und konnte auch mit googeln keine Lösung für mein Problem finden!)!
Hier ist ein Ausschnitt aus meinem Quellcode:
Ich freue mich über jede Hilfe...
pdikij
Ich möchte in meiner Anwendung CardLayout nutzten habe aber folgendes Problem:
Ich will mehrere JPanel mit hilfe von CardLayout überlagern, bekomme aber folgende Fehlermeldung:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at fertig.ErfassenFrame.getJPanelDown(ErfassenFrame.java:267)
at fertig.ErfassenFrame.getJContentPane(ErfassenFrame.java:240)
at fertig.ErfassenFrame.initialize(ErfassenFrame.java:220)
at fertig.ErfassenFrame.<init>(ErfassenFrame.java:214)
at fertig.MainFrame.createFrame(MainFrame.java:151)
at fertig.MainFrame.actionPerformed(MainFrame.java:127)
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.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.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)
Könnte mir jemand auf mein Fehler hinweisen und eine mögliche Lösung vorschlagen?
Währe sehr dankbar (ich habe noch nie mit CardLayout gearbeitet und konnte auch mit googeln keine Lösung für mein Problem finden!)!
Hier ist ein Ausschnitt aus meinem Quellcode:
Java:
public class ErfassenFrame extends JInternalFrame {
private JPanel cards;
private JPanel jContentPane = null;
private JScrollPane jScrollPaneTop = null;
private JPanel jPanelDown = null;
private JPanel jPLaptopbestand = null;
private JPanel pNeuLaptopbestand = null;
public ErfassenFrame() {
initialize();
private void initialize() {
this.setContentPane(getJContentPane());
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new GridLayout(2, 0));
jContentPane.add(getJScrollPaneTop(), getJScrollPaneTop().getName());
jContentPane.add(getJPanelDown(), getJPanelDown().getName());
}
return jContentPane;
}
private JPanel getJPanelDown() {
if (jPanelDown == null) {
jPanelDown = new JPanel();
jPanelDown.setLayout(null);
jPanelDown.setBackground(new Color(204, 204, 204));
jPanelDown.add(getJPanel5(), null);
jPanelDown.add(getJPanel(), null);
jPanelDown.add(getJPanel1(), null);
JPanel card1 = new JPanel();
JPanel card2 = new JPanel();
card1.add(pNeuLaptopbestand);
card2.add(jPLaptopbestand);
cards = new JPanel(new CardLayout());
cards.setBounds(new Rectangle(270, 9, 735, 236));
cards.add(card1, "NeuLaptopbestand");
cards.add(card2, "UpdLaptopbestand");
jPanelDown.add(cards);
}
return jPanelDown;
}
private JPanel getPNeuLaptopbestand() {
if (pNeuLaptopbestand == null) {
pNeuLaptopbestand = new JPanel();
pNeuLaptopbestand.setLayout(null);
pNeuLaptopbestand.setBounds(new Rectangle(924, 5, 73, 231));
pNeuLaptopbestand.setBorder(BorderFactory.createTitledBorder(null, "Neue Daten eingeben - Laptopbestand (Neuanlage)", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), new Color(0, 102, 255)));
}
return pNeuLaptopbestand;
}
}
Ich freue mich über jede Hilfe...
pdikij