# Mathetrainer - Reset Button funktioniert nicht!



## Miyux3 (24. Jan 2012)

Hallo an alle Informatik-Profis & die es noch werden wollen! :'D

Ich bin noch sehr neu im Java Bereich angefangen! Deswegen kenne ich mich nicht so gut aus, leider.
Meine Taschenrechner läuft eigentlich einwandfrei, nur der Reset Button funktioniert nicht D:
Ich weiß nämlich nicht was in Reset reinmuss, sodass der Reset Button unten funktioniert!
Sonst wäre mein Programm vollendet und ich könnte für diese Arbeit in der Schule bestimmt eine 1 kassieren xD
Ich hab grad eine 2 in Informatik, aber eine 1 wäre natürlich schöner!

Hoffentlich meldet sich jemand und kann mir auch bei meinem Problem helfen! :')

--> Das Reset wurde schon eingebaut bei Zeile 27-29
--> Reset Button bei Zeile 223-225

Viele liebe Grüße,
Miyux3 (16)


```
// Einführung in die Ereignisverararbeitung

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.math.*;
import java.lang.Integer.*;
import javax.swing.*;

public class mathetrainer extends Applet implements ActionListener
{
  Button PruefenButton, ErgebnisButton, ResetButton, TippButton;
  Label hinweisLabelBlank, hinweisLabelBlank1, hinweisLabel, hinweisLabelPlus, hinweisLabelMinus, hinweisLabelMulti, hinweisLabelDivi, hinweisLabelGleich, hinweisLabelRichtig, hinweisLabelFalsch;
  TextField anzeigeTF, anzeigeTF1, anzeigeTF2, anzeigeTFOp, anzeigeTFErgebnis, myText;
  int op, balken;
  double ergebnisdouble, idouble, i, ergebnis;
  int test;
  

 public void addAnzeige1()
 {
      add(hinweisLabelBlank1);
      add(anzeigeTF1);

 }

public void reset()
{
}

public void addAnzeige2()
 {
      add(anzeigeTF2);
      add(hinweisLabelGleich);
      add(myText);
      add(hinweisLabelBlank);
      add(PruefenButton);
      add(ErgebnisButton);
      add(ResetButton);
      add(TippButton);
 }
 
public void calculate()
{
     i                 = zufallszahl();
     op                = operation();
     hinweisLabelPlus  = new Label ("+");
     hinweisLabelMinus = new Label ("-");
     hinweisLabelMulti = new Label ("*");
     hinweisLabelDivi  = new Label (":");
     hinweisLabelGleich= new Label ("=");
     hinweisLabelBlank = new Label ("               ");
     hinweisLabelBlank1= new Label ("                      ");
     ergebnis          = i;
     myText            = new TextField(5);
     PruefenButton     = new Button("Prüfen");
     ErgebnisButton    = new Button("Ergebnis anzeigen");
     ResetButton       = new Button("Neue Aufgabe");
     TippButton        = new Button("Tipp!");
     anzeigeTFOp       = new TextField(1);
     anzeigeTF1        = new TextField(3);
     anzeigeTF2        = new TextField(3);
     anzeigeTFErgebnis = new TextField(5);
     
     if (op==0)
      {
      addAnzeige1();
      add(hinweisLabelPlus);
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis + i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");

      }

      if (op==1)
      {
      addAnzeige1();
      add(hinweisLabelMinus);
      addAnzeige2();
      i               = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis - i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");
      }

      if (op==2)
      {
      addAnzeige1();
      add(hinweisLabelMulti);
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis * i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      // test = Integer.toString(ergebnis);
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");
      }

      if (op==3)
      {
      addAnzeige1();
      add(hinweisLabelDivi);
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnisdouble  = Math.round(ergebnisdouble *100)/100.0;
      ergebnisdouble  = ergebnis / i;
      ergebnisdouble  = Math.round(ergebnisdouble *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnisdouble + "");
      anzeigeTF2.setText(i + "");
      }

}

     public static double zufallszahl()
    {
    // Zufallszahl zwischen 0 und 99
     return ((double)(Math.random()*100));
    }
    
    public static int operation()
    {
    // Zufallszahl zwischen 0 und 3
     return ((int)(Math.random()*4));
    }


     public void init()
     {
      calculate();
     TippButton.addActionListener(this) ;
     PruefenButton.addActionListener(this) ;
     ErgebnisButton.addActionListener(this) ;
     ResetButton.addActionListener(this) ;

     }
     
  public void paint (Graphics g)
  {
  Font font1;
  font1 = new Font("TimesRoman",Font.BOLD,22);
  Color black = new Color(0,0,0);
  Color red   = new Color(255,0,0);
  Color blue  = new Color(0,0,255);
  Color white = new Color(255,255,255);

  g.setFont(font1);
  g.setColor(blue);
  g.drawString("Mathetrainer ohne Dividieren bei Ngan",10,120);
  }
        public void actionPerformed(ActionEvent e)
        {

        // int ot string: wachstum=Integer.parseInt(wachstumStr);
        // test = Integer.toString(ergebnis);
        
        
        int test = Integer.parseInt(myText.getText());
        double ergebnistext = ergebnis;
        
        Object src =e.getSource();

         if (src == PruefenButton)
         {

             if (ergebnis == test)
            {
            JOptionPane.showMessageDialog(this, "Richtig", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
            
            else if (ergebnisdouble == test)
            {
            JOptionPane.showMessageDialog(this, "Richtig", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }

            else
            {
              JOptionPane.showMessageDialog(this, "Falsch", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
         }
         
         if (src == TippButton)
         {
         
             if (ergebnis >= test)
            {
            JOptionPane.showMessageDialog(this, "Das Ergebnis ist größer!", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }

            else if (ergebnis <= test)
            {
              JOptionPane.showMessageDialog(this, "Das Ergebnis ist kleiner!", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
         }
         
         if (src == ErgebnisButton)
         {
           JOptionPane.showMessageDialog(this, "Das Ergebnis lautet: " + ergebnistext, "Nachricht", JOptionPane.INFORMATION_MESSAGE);
         }

         if (src == ResetButton)
         {
           reset();
         }

        
}
}
```


----------



## Evil-Devil (24. Jan 2012)

Hast du schon gesehen das deine Reset Methode überhaupt nichts macht und einfach nur leer ist?


----------



## Fu3L (24. Jan 2012)

> "Mathetrainer ohne Dividieren bei Ngan"



Sicher, dass es bei heißen soll und nicht von oder Englisch by?^^
Also die reset-methode ist wirklich trivial, wenn du tatsächlich den TR sonst komplett selbst geschrieben hast (woran ich momentan eher zweifle).. Zeige doch wenigstens einen Versuch die reset-Methode zu füllen..


----------



## Miyux3 (24. Jan 2012)

Ich weiß, dass sie nichts macht, weil ich nicht weiß was dahin kommt. Ich habe den Skript nicht ganz alleine geschrieben, mir wurde dabei auch ein bisschen geholfen und google natürlich auch xD Ich habe eine Vorgabe meines Lehrers bekommen, aber das war nur eine Methode mit einem "+1" und einen "-1" Button. Da kann man draufdrücken und die Zahl erhöhen oder erniedrigen.

Habt ihr denn JavaEditor auf euren Computer? Vielleicht könnt ihr mal den Skript reintun und gucken.

@Fu3L: Öhm...ist mir eigentlich ziemlich egal. Aber "by" ist richtiger, da hast du schon Recht. Kann ich ja mal ändern.


----------



## Miyux3 (24. Jan 2012)

Ich hab jetzt den Reset Button mit das gefüllt, was ich brauche. Was also neu generiert werden soll.
Die zwei Zufallszahlen und die Rechenoperation. Aber weiter weiß ich nicht.



```
public class mathetrainer extends Applet implements ActionListener
{
  Button PruefenButton, ErgebnisButton, ResetButton, TippButton;
  Label hinweisLabelBlank, hinweisLabelBlank1, hinweisLabel, hinweisLabelPlus, hinweisLabelMinus, hinweisLabelMulti, hinweisLabelDivi, hinweisLabelGleich, hinweisLabelRichtig, hinweisLabelFalsch;
  TextField anzeigeTF, anzeigeTF1, anzeigeTF2, anzeigeTFOp, anzeigeTFErgebnis, myText;
  int op, balken;
  double ergebnisdouble, idouble, i, ergebnis;
  int test;
  

 public void addAnzeige1()
 {
      add(hinweisLabelBlank1);
      add(anzeigeTF1);

 }

public void reset()
{
    i                 = zufallszahl();
    i  = Math.round(i *100)/100.0;
    op                = operation();
    ergebnis          = i;
    i                 = zufallszahl();
    i                 = Math.round(i *100)/100.0;
    ergebnis          = Math.round(ergebnis *100)/100.0;
    ergebnis          = ergebnis + i;
}
 public void addAnzeige2()
 {
      add(anzeigeTF2);
      add(hinweisLabelGleich);
      add(myText);
      add(hinweisLabelBlank);
      add(PruefenButton);
      add(ErgebnisButton);
      add(ResetButton);
      add(TippButton);
 }
 
public void calculate()
{
     i                 = zufallszahl();
     op                = operation();
     hinweisLabelPlus  = new Label ("+");
     hinweisLabelMinus = new Label ("-");
     hinweisLabelMulti = new Label ("*");
     hinweisLabelDivi  = new Label (":");
     hinweisLabelGleich= new Label ("=");
     hinweisLabelBlank = new Label ("               ");
     hinweisLabelBlank1= new Label ("                      ");
     ergebnis          = i;
     myText            = new TextField(5);
     PruefenButton     = new Button("Prüfen");
     ErgebnisButton    = new Button("Ergebnis anzeigen");
     ResetButton       = new Button("Neue Aufgabe");
     TippButton        = new Button("Tipp!");
     anzeigeTFOp       = new TextField(1);
     anzeigeTF1        = new TextField(3);
     anzeigeTF2        = new TextField(3);
     anzeigeTFErgebnis = new TextField(5);
     
     if (op==0)
      {
      addAnzeige1();
      add(hinweisLabelPlus);
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis + i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");

      }

      if (op==1)
      {
      addAnzeige1();
      add(hinweisLabelMinus);
      addAnzeige2();
      i               = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis - i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");
      }

      if (op==2)
      {
      addAnzeige1();
      add(hinweisLabelMulti);
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis * i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      // test = Integer.toString(ergebnis);
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");
      }

      if (op==3)
      {
      addAnzeige1();
      add(hinweisLabelDivi);
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnisdouble  = Math.round(ergebnisdouble *100)/100.0;
      ergebnisdouble  = ergebnis / i;
      ergebnisdouble  = Math.round(ergebnisdouble *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnisdouble + "");
      anzeigeTF2.setText(i + "");
      }

}

     public static double zufallszahl()
    {
    // Zufallszahl zwischen 0 und 99
     return ((double)(Math.random()*100));
    }
    
    public static int operation()
    {
    // Zufallszahl zwischen 0 und 3
     return ((int)(Math.random()*4));
    }


     public void init()
     {
      calculate();
     TippButton.addActionListener(this) ;
     PruefenButton.addActionListener(this) ;
     ErgebnisButton.addActionListener(this) ;
     ResetButton.addActionListener(this) ;

     }
     
  public void paint (Graphics g)
  {
  Font font1;
  font1 = new Font("TimesRoman",Font.BOLD,22);
  Color black = new Color(0,0,0);
  Color red   = new Color(255,0,0);
  Color blue  = new Color(0,0,255);
  Color white = new Color(255,255,255);

  g.setFont(font1);
  g.setColor(blue);
  g.drawString("Mathetrainer ohne Dividieren by Ngan",10,120);
  }
        public void actionPerformed(ActionEvent e)
        {

        // int ot string: wachstum=Integer.parseInt(wachstumStr);
        // test = Integer.toString(ergebnis);
        
        
        int test = Integer.parseInt(myText.getText());
        double ergebnistext = ergebnis;
        
        Object src =e.getSource();

         if (src == PruefenButton)
         {

             if (ergebnis == test)
            {
            JOptionPane.showMessageDialog(this, "Richtig", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
            
            else if (ergebnisdouble == test)
            {
            JOptionPane.showMessageDialog(this, "Richtig", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }

            else
            {
              JOptionPane.showMessageDialog(this, "Falsch", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
         }
         
         if (src == TippButton)
         {
         
             if (ergebnis >= test)
            {
            JOptionPane.showMessageDialog(this, "Das Ergebnis ist größer!", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }

            else if (ergebnis <= test)
            {
              JOptionPane.showMessageDialog(this, "Das Ergebnis ist kleiner!", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
         }
         
         if (src == ErgebnisButton)
         {
           JOptionPane.showMessageDialog(this, "Das Ergebnis lautet: " + ergebnistext, "Nachricht", JOptionPane.INFORMATION_MESSAGE);
         }
        
}
}
```


----------



## Evil-Devil (24. Jan 2012)

Ich stelle mal eine ganz einfache Frage: Weißt du was Reset machen soll?

Jetzt so aus dem Stehgreif würde ich vermuten, dass Reset die Anzeige und das Ergebnis auf den Ursprung-/Startzustand zurücksetzen soll.


----------



## Fu3L (24. Jan 2012)

Also im Prinzip musst du etwas ähnliches machen wie in calculate... Das Problem ist, dass du verschiedene Labels für das Anzeigen der Rechenoperation hast. Wie wäre es mit einem Label, das du immer mit setText() an die aktuell geforderte Operation anpasst. Außerdem doppelt sich in calculate viel code. Wenn du nur noch ein Label nutzt, reicht es vollkommen für diese Zeile 
	
	
	
	





```
ergebnis = ergebnis + i;
```
 eine Fallunterscheidung zu bauen, der Rest ist ja augenscheinlich gleich.

Diesen Teil solltest du dann in eine extra Methode auslagern: startNewGame() oder so und die brauchste dann nur noch in reset() aufrufen...


----------



## Miyux3 (24. Jan 2012)

@Fu3L: Ich habe jetzt nur ein Label für die Rechenoperation gemacht. Und mit setText ändere ich die Rechenoperationen. Mein Programm funktioniert! :'D
@Evil-Devil: Das Reset soll eigentlich bedeutet, dass eine neue Aufgabe gestellt wird. Aber ich hab mittlerweise den Mathetrainer vollendet!

An euch beide: Danke, dass ihr euch gemeldet habt und versucht habt mir zu helfen! :3


```
// Einführung in die Ereignisverararbeitung

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.math.*;
import java.lang.Integer.*;
import javax.swing.*;

public class mathetrainer extends Applet implements ActionListener
{
  Button PruefenButton, ErgebnisButton, ResetButton, TippButton;
  Label hinweisLabelOperation, hinweisLabelBlank, hinweisLabelBlank1, hinweisLabel, hinweisLabelGleich, hinweisLabelRichtig, hinweisLabelFalsch;
  TextField anzeigeTF, anzeigeTF1, anzeigeTF2, anzeigeTFOp, anzeigeTFErgebnis, myText;
  int op, balken;
  double ergebnisdouble, idouble, i, ergebnis;
  int test;
  

 public void addAnzeige1()
 {
      add(hinweisLabelBlank1);
      add(anzeigeTF1);
      add(hinweisLabelOperation);

 }

public void reset(TextField anzeigeTF2, TextField anzeigeTF1, Label hinweisLabelOperation)
{

    i                 = zufallszahl();
    i  = Math.round(i *100)/100.0;
    anzeigeTF1.setText(i + "");
    op                = operation();
    ergebnis          = i;
    i                 = zufallszahl();
    i                 = Math.round(i *100)/100.0;
    ergebnis          = Math.round(ergebnis *100)/100.0;
    
    if (op==0)
    {
    hinweisLabelOperation.setText("+");
    ergebnis          = ergebnis + i;
    }
    if (op==1)
    {
    hinweisLabelOperation.setText("-");
    ergebnis          = ergebnis - i;
    }
    if (op==2)
    {
    hinweisLabelOperation.setText("*");
    ergebnis          = ergebnis * i;
    }
    if (op==3)
    {
    hinweisLabelOperation.setText("/");
    ergebnis          = ergebnis / i;
    }

    anzeigeTF2.setText(i + "");
}
 public void addAnzeige2()
 {
      add(anzeigeTF2);
      add(hinweisLabelGleich);
      add(myText);
      add(hinweisLabelBlank);
      add(PruefenButton);
      add(ErgebnisButton);
      add(ResetButton);
      add(TippButton);
 }
 
public void calculate()
{
     i                 = zufallszahl();
     op                = operation();
     hinweisLabelOperation  = new Label ("");
     hinweisLabelPlus  = new Label ("+");
     hinweisLabelMinus = new Label ("-");
     hinweisLabelMulti = new Label ("*");
     hinweisLabelDivi  = new Label (":");
     hinweisLabelGleich= new Label ("=");
     hinweisLabelBlank = new Label ("               ");
     hinweisLabelBlank1= new Label ("                      ");
     ergebnis          = i;
     myText            = new TextField(5);
     PruefenButton     = new Button("Prüfen");
     ErgebnisButton    = new Button("Ergebnis anzeigen");
     ResetButton       = new Button("Neue Aufgabe");
     TippButton        = new Button("Tipp!");
     anzeigeTFOp       = new TextField(1);
     anzeigeTF1        = new TextField(3);
     anzeigeTF2        = new TextField(3);
     anzeigeTFErgebnis = new TextField(5);
     
     if (op==0)
      {
      addAnzeige1();
      hinweisLabelOperation.setText("+");
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis + i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");

      }

      if (op==1)
      {
      addAnzeige1();
      hinweisLabelOperation.setText("-");
      addAnzeige2();
      i               = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis - i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");
      }

      if (op==2)
      {
      addAnzeige1();
      hinweisLabelOperation.setText("*");
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      ergebnis        = ergebnis * i;
      ergebnis        = Math.round(ergebnis *100)/100.0;
      // test = Integer.toString(ergebnis);
      anzeigeTFErgebnis.setText(ergebnis + "");
      anzeigeTF2.setText(i + "");
      }

      if (op==3)
      {
      addAnzeige1();
      hinweisLabelOperation.setText(":");
      addAnzeige2();
      i  = Math.round(i *100)/100.0;
      anzeigeTF1.setText(i + "");
      
      i               = zufallszahl();
      i               = Math.round(i *100)/100.0;
      ergebnisdouble  = Math.round(ergebnisdouble *100)/100.0;
      ergebnisdouble  = ergebnis / i;
      ergebnisdouble  = Math.round(ergebnisdouble *100)/100.0;
      anzeigeTFErgebnis.setText(ergebnisdouble + "");
      anzeigeTF2.setText(i + "");
      }

}

     public static double zufallszahl()
    {
    // Zufallszahl zwischen 0 und 99
     return ((double)(Math.random()*100));
    }
    
    public static int operation()
    {
    // Zufallszahl zwischen 0 und 3
     return ((int)(Math.random()*4));
    }


     public void init()
     {
      calculate();
     TippButton.addActionListener(this) ;
     PruefenButton.addActionListener(this) ;
     ErgebnisButton.addActionListener(this) ;
     ResetButton.addActionListener(this) ;

     }
     
  public void paint (Graphics g)
  {
  Font font1;
  font1 = new Font("TimesRoman",Font.BOLD,22);
  Color black = new Color(0,0,0);
  Color red   = new Color(255,0,0);
  Color blue  = new Color(0,0,255);
  Color white = new Color(255,255,255);

  g.setFont(font1);
  g.setColor(blue);
  g.drawString("Mathetrainer by Ngan",10,120);
  }
        public void actionPerformed(ActionEvent e)
        {

        // int ot string: wachstum=Integer.parseInt(wachstumStr);
        // test = Integer.toString(ergebnis);
        
        
        int test = Integer.parseInt(myText.getText());
        double ergebnistext = ergebnis;
        
        Object src =e.getSource();

         if (src == PruefenButton)
         {

             if (ergebnis == test)
            {
            JOptionPane.showMessageDialog(this, "Richtig", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
            
            else if (ergebnisdouble == test)
            {
            JOptionPane.showMessageDialog(this, "Richtig", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }

            else
            {
              JOptionPane.showMessageDialog(this, "Falsch", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
         }
         
         if (src == TippButton)
         {
         
             if (ergebnis >= test)
            {
            JOptionPane.showMessageDialog(this, "Das Ergebnis ist größer!", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }

            else if (ergebnis <= test)
            {
              JOptionPane.showMessageDialog(this, "Das Ergebnis ist kleiner!", "Nachricht", JOptionPane.INFORMATION_MESSAGE);
            }
         }
         
         if (src == ErgebnisButton)
         {
           JOptionPane.showMessageDialog(this, "Das Ergebnis lautet: " + ergebnistext, "Nachricht", JOptionPane.INFORMATION_MESSAGE);
         }
         
         if (src == ResetButton)
         {
           reset(anzeigeTF2, anzeigeTF1, hinweisLabelOperation);
         }
        
}
}
```


----------



## irgendjemand (24. Jan 2012)

aua ... der code ist wirklich nicht so prall ...

1) AWT und Swing sollte man NICHT mischen ... für den grund benutze bitte google oder die sufu ...
heißt : wenn du einen dialog anzeigen willst dann mach das entweder mit der Dialog klasse aus dem AWT ... und schreibe alles auf Swing um wenn du JOptionPane nutzen möchtest *auch Applet zu JApplet*

2) der ist zwar teilweise eingerückt ... aber sieht immer noch schreklich aus ... da solltest du zur besseren lesbarkeit noch mal drüber gehen

3) gleich die ersten zeilen schreien schon nach : ich bin anfänger
laut conventions macht sowas nicht ... sondern alles in seine eigene zeile ...
auch verwendet man in der regel private so lange die daten nicht außerhalb gebraucht werden ...

4) zum problem selbst : ich gehe davon aus das reset() dein applet auf den zustand zurücksetzen soll wenn es geladen wurde ... das könnte man einfach durch callen von init()/start() machen ... alles andere wäre code doubling und ist auch nicht wirklich sauber ...


ps : ich hätte das ganze auch nicht als Applet sondern als normale desktop-app gebaut ... aber naja .. jedem das seine


----------

