G
gast²
Gast
Code:
import java.awt.*;
import java.awt.event.*;
public class rechner3 extends Frame {
// Objekte
Label zahl1, zahl2, ergebnis;
TextField zahl1_feld, zahl2_feld, ergebnis_feld;
Button berechnen;
Choice auswahl;
public rechner3()
{
setTitle("Rechner");
setSize(340,220);
// Fenster schliessen
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e){System.exit(0);}});
//ActionListener
class berechnen_exe implements ActionListener
{
public void actionPerformed(ActionEvent ereignis)
{
String Z1 = zahl1_feld.getText();
String Z2 = zahl2_feld.getText();
int erg=0;
if (auswahl.getSelectedItem() == "Addieren")
erg = Integer.parseInt(Z1) + Integer.parseInt(Z2);
else if (auswahl.getSelectedItem() == "Subtrahieren")
erg = Integer.parseInt(Z1) - Integer.parseInt(Z2);
else if (auswahl.getSelectedItem() == "Dividieren")
erg = Integer.parseInt(Z1) / Integer.parseInt(Z2);
else if (auswahl.getSelectedItem() == "Multiplizieren")
erg = Integer.parseInt(Z1) * Integer.parseInt(Z2);
ergebnis_feld.setText(Integer.toString(erg));
}
}
//Label und TextField für Zahl1
zahl1 = new Label("Zahl 1");
zahl1.setBounds(25,50,50,15); //x,y,b,h
add(zahl1);
zahl1_feld = new TextField("0");
zahl1_feld.setBounds(90,48,100,20); //x,y,b,h
add(zahl1_feld);
//Label und TextField für Zahl2
zahl2 = new Label("Zahl 2");
zahl2.setBounds(25,90,50,15); //x,y,b,h
add(zahl2);
zahl2_feld = new TextField("0");
zahl2_feld.setBounds(90,88,100,20); //x,y,b,h
add(zahl2_feld);
//Label und TextField fürs Ergebnis
ergebnis = new Label("Ergebnis");
ergebnis.setBounds(25,130,60,15); //x,y,b,h
add(ergebnis);
ergebnis_feld = new TextField();
ergebnis_feld.setBounds(90,128,100,20); //x,y,b,h
add(ergebnis_feld);
//Choice
Choice auswahl = new Choice();
auswahl.addItem("Addieren");
auswahl.addItem("Subtrahieren");
auswahl.addItem("Dividieren");
auswahl.addItem("Multiplizieren");
auswahl.setBounds(210,88,100,20); //x,y,b,h
add(auswahl);
//Buttons fürs Berechnen
berechnen = new Button();
berechnen.setLabel("Berechnen");
berechnen.setBounds(210,127,100,20); //x,y,b,h
add(berechnen);
berechnen.addActionListener(new berechnen_exe());
setLayout(new BorderLayout());
//Fenster anzeigen
setVisible(true);
}
public static void main(String[] args)
{
new rechner3();
}
}
Es wird zwar erfolgreich compeliert, aber wenn ich im Programm selber den "Berechnen"-Button drücke, kommt im Java-Editor undten so eine Fehlermeldung;
Code:
Exception occurred during event dispatching:
java.lang.NullPointerException
at rechner3$1$berechnen_exe.actionPerformed(rechner3.java:31)
at java.awt.Button.processActionEvent(Button.java:301)
at java.awt.Button.processEvent(Button.java:274)
at java.awt.Component.dispatchEventImpl(Component.java:2393)
at java.awt.Component.dispatchEvent(Component.java:2306)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:295)
at java.awt.EventDispatchThread.pumpOneEventForComponent(EventDispatchThread.java, Compiled Code)
at java.awt.EventDispatchThread.pumpEventsForComponent(EventDispatchThread.java:89)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:84)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:76)
Exception occurred during event dispatching:
java.lang.NullPointerException
at rechner3$1$berechnen_exe.actionPerformed(rechner3.java:31)
at java.awt.Button.processActionEvent(Button.java:301)
at java.awt.Button.processEvent(Button.java:274)
at java.awt.Component.dispatchEventImpl(Component.java:2393)
at java.awt.Component.dispatchEvent(Component.java:2306)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:295)
at java.awt.EventDispatchThread.pumpOneEventForComponent(EventDispatchThread.java, Compiled Code)
at java.awt.EventDispatchThread.pumpEventsForComponent(EventDispatchThread.java:89)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:84)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:76)
Irgendwas funktioniert mit meinem Button nicht, mein Lehrer konnte mir auch nicht helfen :bahnhof:
Edit von L-ectron-X: Titel geändert.