Nullpointerexeption die ik niet opgelost krijg :/

  • Onderwerp starter Onderwerp starter Azuma
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Azuma

Gebruiker
Lid geworden
8 mrt 2013
Berichten
5
Hallo ik krijg dus iedere keer een nullpointerexeption maar vind het niet wat het moet worden :/.
Kan iemand mij mss helpen?
Code:
import javax.swing.*;
import javax.swing.border.MatteBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
 * Created with IntelliJ IDEA.
 * User: David
 * Date: 08/03/13
 * Time: 12:02
 * To change this template use File | Settings | File Templates.
 */
public class ButtonDemo extends JFrame
{
    private JButton StartButton;
    private JButton HighscoreButton;
    private JButton HelpButton;
    private JButton Spelregels;
    private JButton ExitButton;
    private JLabel label;
    private JPanel panel;
    private JPanel panel1;


    public ButtonDemo() throws HeadlessException
    {
        setTitle("Buttons");
        maakComponenten();
        maakLayout();
        voegListenersToe();
        toonFrame();
    }

    private void initComponenten(){
        // het aanmaken van de font
        Font font = new Font("Arial", Font.ITALIC, 20);
        Font font2 = new Font("Arial", Font.ITALIC, 50);

// het aanmaken van de knoppen/panels/ ...
        this.label = new JLabel("  Boggle  ");
        this.panel = new JPanel();
        this.panel1 = new JPanel();
        this.StartButton = new JButton("Start spel");
        this.HighscoreButton = new JButton("Score");
        this.Spelregels = new JButton("Spelregels");
        this.HelpButton = new JButton("Help");
        this.ExitButton = new JButton("Stop");

// lettertype aanpassen van de knoppen
        label.setFont(font2);
        StartButton.setFont(font);
        HighscoreButton.setFont(font);
        Spelregels.setFont(font);
        HelpButton.setFont(font);
        ExitButton.setFont(font);

// groote van de knoppen
        StartButton.setPreferredSize(new Dimension(150,30));
        HighscoreButton.setPreferredSize(new Dimension(150,30));
        Spelregels.setPreferredSize(new Dimension(150,30));
        HelpButton.setPreferredSize(new Dimension(150, 30));
        ExitButton.setPreferredSize(new Dimension(150,30));


    }

    private void maakComponenten() {

            GridLayout wippen = new GridLayout(4,1,10,10);
            setLayout(wippen);
            this.add(panel, BorderLayout.NORTH);
            panel.add(label, BorderLayout.NORTH);
            this.add(panel1, BorderLayout.SOUTH);
            panel1.add(StartButton, BorderLayout.SOUTH);
            panel1.add(HighscoreButton, BorderLayout.SOUTH);
            panel1.add(Spelregels, BorderLayout.SOUTH);
            panel1.add(HelpButton, BorderLayout.SOUTH);
            panel1.add(ExitButton, BorderLayout.SOUTH);

    }


    private void maakLayout()
    {
        JPanel buttonPanel = new JPanel(new GridLayout(4,2,5,9));
        buttonPanel.add(StartButton);
        buttonPanel.add(HighscoreButton);
        buttonPanel.add(HelpButton);
        buttonPanel.add(Spelregels);
        buttonPanel.add(ExitButton);

        add(buttonPanel, BorderLayout.PAGE_END);
        add(buttonPanel, BorderLayout.CENTER);
    }

    private void voegListenersToe()
    {

    }

    private void stopMethode() {
    }

    private void toonFrame()
    {
        setBackground(Color.cyan);
        setBounds(200, 200, 200, 200);
        pack();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

    }
// inner class


}
Code:
"C:\Program Files\Java\jdk1.7.0_07\bin\java" -Didea.launcher.port=7548 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 11.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_07\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_07\jre\lib\ext\zipfs.jar;F:\Oefening4\out\production\Oefening4;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 11.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain RunButtons
Exception in thread "main" java.lang.NullPointerException
	at java.awt.Container.addImpl(Container.java:1086)
	at java.awt.Container.add(Container.java:998)
	at javax.swing.JFrame.addImpl(JFrame.java:562)
	at java.awt.Container.add(Container.java:966)
	at ButtonDemo.maakComponenten(ButtonDemo.java:71)
	at ButtonDemo.<init>(ButtonDemo.java:28)
	at RunButtons.main(RunButtons.java:18)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 1
Alvast bedankt!
 
Laatst bewerkt door een moderator:
"panel", "label" en "panel1" zijn null. Ze worden wel aangemaakt in de klasse, maar niet geïnitialiseerd. De initialisatie gebeurt in de methode "initComponenten()", maar deze roep je niet aan.
 
En wat moet ik dan exact ergens bijvullen ofzo Supersnail?
 
Laatst bewerkt door een moderator:
Als je boven de regel
Code:
maakComponenten();
de regel
Code:
initComponenten();
zet krijg je deze foutmelding niet meer.
 
Dankje Supersnail!!
 
Laatst bewerkt door een moderator:
Ja je had gelijk. dom foutje van mij :D. BEDANKT!
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan