textfeld und cursor

Status
Nicht offen für weitere Antworten.

pid82

Aktives Mitglied
habe ein kleinen taschenrechner mit awt geschrieben
auf dem taschen rechner sind zwei textfelder und bezifferte
buttons.
wenn ich jetzt eine ziffer anklicke will ich das dies auf dem textfeld
angezeigt wird auf dem cursor steht.

habe mal für die ziffer 7 folgenden code geschrieben:

Code:
String temp;
if(txtField[0].isCursorSet()) {
  temp = txtField[0].getText();
  System.out.println(temp);
  txtField[0].setText("");
  txtField[0].setText(temp + "7");
}else	{
  temp = txtField[1].getText();
  System.out.println(temp);
  txtField[1].setText("");
  txtField[1].setText(temp + "7");
}

Wenn ich auf die sieben klicke wird die sieben immer im ersten
textfeld angezeigt auch wenn ich den cursor auf das zweite
textfeld setze.

was mache ich falsch?

L-ectron-X hat die Code-Tags gesetzt.
 
Wofür zwei Textfelder ? Du hast bspw. 10 Buttons für 0 - 9, jedem Button fügst du einen ActionListener hinzu....in diesem kannst du ja die getippte Zahl ans Textfeld anhängen, insofern keine Rechenoperation ausgeführt wurde...

Btw. Taschenrechner etc. gab es im Forum schon häufiger, auch schon mit einigen Lösungen (Lösungsansätzen), vielleicht suchst du mal und vergleichst...

Es gibt auch code Tags 😉
 
ja das ist ein taschenrechner mit komplexen zahlen
ein textfeld für den real und eins für den imaginär teil
 
Achso - das hättest du ja auch direkt dazu sagen können 😉

Ja und wo ist das Problem ? Ist das oben Teil von deinem ActionListener COde ? Das Vorgehen hab ich ja schon geschildert, ist ja auch (eigentlich) recht klar...
 
ist der code vom mouselistener.
ist mir halt, unklar obwohl der cursor
im zweiten textfeld ist schreibt er ins erste rein
komisch?
 
habe eben festgestellt wenn ich den cursor auf den zweiten textfeld setzt dannach auf ein button klicke springt der cursor automatisch in das erste textfeld und logischerweise wird dann immer in das erste textfeld geschrieben, ich hoffe ich finde noch den grund
 
Wat soll denn dat?
Du kannst doch nicht mit einen Mouselistener bestimmen welcher Button gedrückt wurde...

Ich würde das so machen:
Einen Mouselistener der nur einen Integer auf 1 = Textfield 1 hat den Courser oder 2... oder 0 für keines der beiden.

Und dann einen ActionListener, der dann guckt mit if Integer == 1 oder == 2 == 0 und dann in das Feld das zeug dranhängt...
 
Frage doch nach dem Textfeld, welches gerade den Focus hat.
Code:
String str = null;
for(int i = 0; i < txtField.length; i++) {
  if(txtField[i].hasFocus()) {
    str = txtField[i].getText().trim();
    //etc.
  }
}
Und wie MPW sagte, registrierst du am besten an den Buttons einen ActionListener.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben