Auf Thema antworten

Leider tritt bei diesem code nun folgender fehler auf:


[code==JAVA]

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Fenster extends JFrame implements ActionListener

{

                      

    public int anzahlKnöpfe = 10;                                  //Definiert die Anzahl der Knöpfe am Taschenrechner

    private String name;

    public JButton plus;

    public JButton minus;

    public JButton geteilt;

    public JButton mal;

    public JButton display;

    public JPanel panel;

    public JButton[] button = new JButton[anzahlKnöpfe];

    public Fenster()

    {

        super("Taschenrechner");

        JButton display = new JButton("0");

        display.setEnabled(false);

        add(display, BorderLayout.NORTH);

        JPanel panel = new JPanel();                        //Erzeugung eines Panels

        this.add(panel);

        panel.setLayout(new GridLayout(4,4));

        this.setSize(500,300);

    }

 

 

     public void erstelleButton()

     {

        for(int i = 0; i < button.length; i++)                          //Schleife ließt größe des Arrays aus

        {

            this.button[i] = new JButton(Integer.toString(i));               //Erzeugen von Button Objekten und

            panel.add(button[i]);

            button[i].setPreferredSize(new Dimension(10,10));

            button[i].addActionListener(this);

        }

        plus = new JButton("+");                                         //Hinzufügen der Operatoren

        panel.add(plus);

        plus.addActionListener(this);

        minus = new JButton("-");

        panel.add(minus);

        minus.addActionListener(this);

        geteilt = new JButton("/");

        panel.add(geteilt);

        geteilt.addActionListener(this);

        mal = new JButton("*");

        panel.add(mal);

        mal.addActionListener(this);

    }

 

     public void actionPerformed(ActionEvent e)

     {

           String input = e.getActionCommand();

           display.setText(display.getText() + input);

     }

    

    

}

[/code]


[code==JAVA]

public class Taschenrechner

{

    public static void main(String argv[])

    {

        Fenster f = new Fenster();

        f.erstelleButton();

        f.setVisible(true);

    }

}

[/code]


Das programm liefert mir eine nullpointerexception, in der Schleife bei

panel.add(button) was ich nciht verstehe, da die buttons doch alle einen wert über button = new Button(Integer.toString(i)) erhalten haben. Wo liegt denn nun jetzt der Fehelr?[/code]



Oben