AWT Eventhandling

kobioldo

Mitglied
Guten Abend liebe Gemeine,
ich war gerade am Üben und wollte mir einen kleinen Taschenrechner mit Knöpfen, TextAreas und TextFields bauen...
Der Taschenrechner soll mathematisch zwei TextFields bearbeiten und den Wert in einem TextArea ausgebe, doch das klappt nicht wirklich... :(

Kann mir jemand helfen den Fehler zu finden? ;(


Java:
 import java.awt. *;
import java.awt.event.* ; 
public class Taschenrechner extends Frame {  
  Button plus = new Button("+");
  Button minus = new Button ("-");
  Button mal = new Button ("*");
  TextField txt1 = new TextField ("Zahl 1: ");
  TextField txt2 = new TextField ("Zahl 2: ");
  Panel unten = new Panel (new GridLayout (1,0));
  TextArea erg = new TextArea ();
  
  Taschenrechner ()
  {
    super ("Taschenrechner");
    this.setResizable(true);
    this.setSize(800,600);
    this.setVisible(true);
    this.unten.add(this.plus);
    this.unten.add(this.minus);
    this.unten.add(this.mal);
    this.add(this.unten, BorderLayout.SOUTH);
    this.add(this.txt1, BorderLayout.NORTH);
    this.add(this.txt2, BorderLayout.CENTER);
    this.add(this.erg, BorderLayout.WEST);
    this.plus.addActionListener(new Eventhand (this) );
    
    this.addWindowListener(new WindowAdapter ()
    {
      public void windowClosing(WindowEvent e)
      {  
        System.exit(0);
        }
    });
    
  }
  
  public static void main(String[] args) {
    new Taschenrechner ();
  } // end of main
  
} // end of class Taschenrechner

Java:
import java.awt.event.*;
import java.awt.*;
class Eventhand implements ActionListener{
  Taschenrechner gmay ; 
  
  Eventhand (Taschenrechner klassenpara)
  {
    this.gmay = klassenpara;
  }
  
  public void actionPerformed (ActionEvent ae){
    if (ae.getActionCommand()== "+") {
      int zahl1 = Integer.parseInt(gmay.txt1.getSelectedText()) ;
      int zahl2 = Integer.parseInt(gmay.txt2.getSelectedText());
      int ergö = zahl1 + zahl2 ; 
      String zahlstring = String.valueOf(ergö);
      gmay.erg.append(zahlstring);
      
    } // end of if
  }    
} // end of class Eventhand




Edit: Hat sich erledigt... Fehler ist gefunden.
[Java]
int zahl1 = Integer.parseInt(gmay.txt1.getText()) ;
int zahl2 = Integer.parseInt(gmay.txt2.getText());
[/Java]
 
Zuletzt bearbeitet:

javampir

Bekanntes Mitglied
hi,
habs mir jetzt nicht angeschaut. was denn für einen fehler? kriegst du eine fehlermeldung? rechnet er falsch? macht er überhaupt was?
javampir
 

kobioldo

Mitglied
Hallo,
er rechnet garnicht, in der Konsole tauchen aber irgendwelche Befehle auf, die ich aber nicht kenne.
Einen Fehler erhalte ich ebenfalls nicht.

Was in der Konsole steht:
tarte C:\Users\XXXX\Desktop\Neuer Ordner\Taschenrechner.java

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.parseInt(Integer.java:527)
at Eventhand.actionPerformed(Eventhand.java:13)
at java.awt.Button.processActionEvent(Button.java:409)
at java.awt.Button.processEvent(Button.java:377)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
 

Ähnliche Java Themen


Oben