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]