N
norman
Gast
hallo,
nun..dieses applet soll 2 zahlen addieren, multiplizieren oder was auch immer. funktioniert auch.
ABER: bei der auswahl der rechenart mit der maus aktualisert sich das ergebnis erst nach einem 2. klick.
beim klick in die auswahlleiste wird ja bereits gerechnet (mit der "alten" auswahl) -> wie kann ich es umsetzen, dass mit dem neuen, jetzt aktuell gewählten rechenzeichen gerechnet wird?
bin leider etwas ratlos, zumal es bei tastaturauswahl problemlos funktioniert :/
mfg
***
nun..dieses applet soll 2 zahlen addieren, multiplizieren oder was auch immer. funktioniert auch.
ABER: bei der auswahl der rechenart mit der maus aktualisert sich das ergebnis erst nach einem 2. klick.
beim klick in die auswahlleiste wird ja bereits gerechnet (mit der "alten" auswahl) -> wie kann ich es umsetzen, dass mit dem neuen, jetzt aktuell gewählten rechenzeichen gerechnet wird?
bin leider etwas ratlos, zumal es bei tastaturauswahl problemlos funktioniert :/
mfg
***
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class rechner extends Applet implements KeyListener, MouseListener {
TextField zahl1 = new TextField("3",5);
TextField zahl2 = new TextField("7",5);
TextField erg = new TextField(">>>Ergebnis<<<");
Choice rechenart = new Choice();
float z1,z2,ergebnis;
String rechnung;
//MausListener - Methoden
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {
z1 = Float.parseFloat(zahl1.getText());
z2 = Float.parseFloat(zahl2.getText());
rechnung = rechenart.getSelectedItem();
if (! rechnung.equals("")) {
if (rechnung.equals("+")) ergebnis = z1 + z2;
if (rechnung.equals("-")) ergebnis = z1 - z2;
if (rechnung.equals("*")) ergebnis = z1 * z2;
if (rechnung.equals("/")) ergebnis = z1 / z2;
erg.setText(String.valueOf(ergebnis));
}
else erg.setText("Rechenart wählen!");
}
//KeyListener - Methoden
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
z1 = Float.parseFloat(zahl1.getText()); //1. Zahl auslesen
z2 = Float.parseFloat(zahl2.getText()); //2. Zahl auslesen
rechnung = rechenart.getSelectedItem(); //Auswahl der Rechenart auslesen
if (! rechnung.equals("")) {
if (rechnung.equals("+")) ergebnis = z1 + z2;
if (rechnung.equals("-")) ergebnis = z1 - z2;
if (rechnung.equals("*")) ergebnis = z1 * z2;
if (rechnung.equals("/")) ergebnis = z1 / z2;
erg.setText(String.valueOf(ergebnis));
}
else erg.setText("Rechenart wählen!");
}
public void init() {
setBackground(Color.lightGray);
add(zahl1); zahl1.addKeyListener(this);
add(rechenart);
rechenart.add("");rechenart.add("+"); rechenart.add("-"); rechenart.add("*"); rechenart.add("/");
rechenart.addMouseListener(this); rechenart.addKeyListener(this);
add(zahl2); zahl2.addKeyListener(this);
add(erg); erg.setEditable(false);
}
}