MouseListener - reagiert zu spät

Status
Nicht offen für weitere Antworten.
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

***
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);
		
	}
}
 

L-ectron-X

Gesperrter Benutzer
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Rechner extends Applet implements KeyListener, ItemListener {

   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;


  //ItemListener für Choice verwenden!
   public void itemStateChanged(ItemEvent e) {
      rechnen();
   }

  //KeyListener - Methoden
   public void keyTyped(KeyEvent e) {}
   public void keyPressed(KeyEvent e) {}
   public void keyReleased(KeyEvent e) {
      rechnen();
   }

   //Diese private Methode ist von beiden Event-Methoden erreichbar.
   //Das spart Code-Schreiberei, ist weniger Fehleranfällig und besser zu warten.
   private void rechnen() {
      z1 = Float.parseFloat(zahl1.getText().trim());         //1. Zahl auslesen
      z2 = Float.parseFloat(zahl2.getText().trim());         //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.addItemListener(this); rechenart.addKeyListener(this);
      add(zahl2); zahl2.addKeyListener(this);
      add(erg);   erg.setEditable(false);

   }
}
Der Rest ist Ansichtssache und eine Frage des eigenen Stils.
 

norman

Top Contributor
ah.. *lichtaufgeh* -> vielen dank (kannte bisher keinen ItemListener)

PS: habe den beitrag erstellt bevor ich mich registiert habe -> kann ich ihn trotzdem irgendwie abhaken?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
H MouseListener klicks begrenzen Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
V Problem - MouseListener/2DGraphics Java Basics - Anfänger-Themen 2
R Variablen MouseListener funktioniert auf anderen Pcs nur bedingt Java Basics - Anfänger-Themen 6
G MouseListener funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
GRAZZ0R MouseListener - Rechteck Bewegen Java Basics - Anfänger-Themen 1
R Variable Klassenübegreifend MouseListener Java Basics - Anfänger-Themen 0
D MouseListener funktioniert nach Timerstart nicht mehr Java Basics - Anfänger-Themen 9
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
S GUI ImageIcon Mouselistener Link Java Basics - Anfänger-Themen 0
P MouseListener funktioniert nicht Java Basics - Anfänger-Themen 6
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
P Problem mit MouseListener Java Basics - Anfänger-Themen 4
T MouseListener, recht Taste Java Basics - Anfänger-Themen 2
M MouseListener funktioniert nicht Java Basics - Anfänger-Themen 9
E Mouselistener auf jTable Java Basics - Anfänger-Themen 18
B Variablen an MouseListener übergeben Java Basics - Anfänger-Themen 5
H MouseListener für ein eingefügtes Bild in einem JFrame Java Basics - Anfänger-Themen 7
H Mouselistener bei JTable Java Basics - Anfänger-Themen 4
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
J MouseListener fuer gezeichnete Polyline Java Basics - Anfänger-Themen 3
L Label + MouseListener Java Basics - Anfänger-Themen 12
M MouseListener funkioniert auf JPanel nicht Java Basics - Anfänger-Themen 8
P Jtree MouseListener und NoCollapse Java Basics - Anfänger-Themen 2
M Schiebepuzzle: MouseListener und Graphics? Java Basics - Anfänger-Themen 6
M MouseListener Java Basics - Anfänger-Themen 2
kitz MouseListener Java Basics - Anfänger-Themen 8
B MouseListener & Graphics Java Basics - Anfänger-Themen 10
D Problem mit Mouselistener und jtable Java Basics - Anfänger-Themen 7
C fragen zu MouseListener Java Basics - Anfänger-Themen 3
M MouseListener funktioniert in jar-file nicht mehr Java Basics - Anfänger-Themen 13
F Logikproblem: Auf Mouselistener warten Java Basics - Anfänger-Themen 6
E Auf Mouselistener warten?! Java Basics - Anfänger-Themen 20
S Probleme mit 2 mouselistener Java Basics - Anfänger-Themen 6
A Frage zu MouseListener Java Basics - Anfänger-Themen 2
D Mouselistener Java Basics - Anfänger-Themen 2
A jPanel an MouseListener übergeben? Java Basics - Anfänger-Themen 2
S Swing JEditoPane MouseListener Java Basics - Anfänger-Themen 5
M Mouselistener Java Basics - Anfänger-Themen 4
S MouseListener funzt net. Java Basics - Anfänger-Themen 5
G MouseListener double click? Java Basics - Anfänger-Themen 1
V MouseListener Java Basics - Anfänger-Themen 5
M MouseListener Java Basics - Anfänger-Themen 3
N Mouselistener? Java Basics - Anfänger-Themen 5
T ein MouseListener pro Objekt sinnvoll? Java Basics - Anfänger-Themen 4
F MouseListener - Unhandled IOException Java Basics - Anfänger-Themen 2
U MouseListener Java Basics - Anfänger-Themen 2
L Array von Buttons, jeder soll MouseListener haben Java Basics - Anfänger-Themen 5
S MouseListener - Events auf Mouseklick Java Basics - Anfänger-Themen 14
L MouseListener Problem. Java Basics - Anfänger-Themen 2
S mouselistener Java Basics - Anfänger-Themen 3
N MouseListener Java Basics - Anfänger-Themen 2
J MouseListener implementieren Java Basics - Anfänger-Themen 12
P MouseListener wird anscheinend nicht benutzt Java Basics - Anfänger-Themen 12
D JList - Textzeilen MouseListener zuweisen Java Basics - Anfänger-Themen 4
M prüfen ob mouselistener gesetzt ist. Java Basics - Anfänger-Themen 10
O image und mouseListener Java Basics - Anfänger-Themen 15
W MouseListener Probleme beim Abfangen Java Basics - Anfänger-Themen 8
P Kann keinen MouseListener hinzufügen Java Basics - Anfänger-Themen 3
G MouseListener einbauen - wie? Java Basics - Anfänger-Themen 4
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
M KeyListener reagiert nicht Java Basics - Anfänger-Themen 4
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
L Erste Schritte JButton reagiert nicht Java Basics - Anfänger-Themen 5
D JRadiobutton reagiert nicht wie gewünscht Java Basics - Anfänger-Themen 3
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
N Erste Schritte JButton reagiert nur einmal. Java Basics - Anfänger-Themen 12
I ActionListener reagiert nicht Java Basics - Anfänger-Themen 6
S KeyListener reagiert nicht. Java Basics - Anfänger-Themen 4
T Compiler-Fehler Eclipse reagiert nicht mehr auf Änderungen im Code Java Basics - Anfänger-Themen 2
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
P Input/Output KeyListener reagiert nicht Java Basics - Anfänger-Themen 4
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
U Thread reagiert nicht sofort auf Tastendruck Java Basics - Anfänger-Themen 14
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
M ActionListener reagiert nicht Java Basics - Anfänger-Themen 4
A Frame reagiert nicht Java Basics - Anfänger-Themen 6
T Applet reagiert nicht richtig Java Basics - Anfänger-Themen 5
hdi JPanel mouseClicked() Methode reagiert nur zu 50% Java Basics - Anfänger-Themen 4
hdi JPanel mouseClicked() Methode reagiert nur zu 50% Java Basics - Anfänger-Themen 6
B Keylistener auf JSpinner reagiert nicht? Java Basics - Anfänger-Themen 3
S 2 ActionListener 1 JButton, welcher reagiert zuerst Java Basics - Anfänger-Themen 2
L toggle button reagiert nicht mehr nach while-start Java Basics - Anfänger-Themen 8
G KeyListener reagiert nicht Java Basics - Anfänger-Themen 5
C FocusLost reagiert nicht bei JDialog Java Basics - Anfänger-Themen 5
D Keylistener reagiert nicht mehr Java Basics - Anfänger-Themen 15
S Java reagiert nich > Systemabsturz Java Basics - Anfänger-Themen 13
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
D Änderungen im Frame werden zu spät durchgeführt Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben