In einem TextField die Zahlen nebeneinander anordnen (Java)?
Guten Tag,
ich programmiere gerade einen kleinen Taschenrechner. Dort kann man (natürlich) Zahlen und Operatoren eingeben. Das funktioniert auch schon prima, doch werden in dem TextField, in welches die ausgewählten Zahlen und Operatoren geschrieben werden, diese nicht nebeneinander, sondern übereinander geschrieben.
Meine Frage ist jetzt, wie man programmiert, dass die nebeneinander geschrieben werden. Dazu ein kleiner Auszug aus meinem Code:
JFrame fenster = new JFrame("Taschenrechner");
JTextField textErgebnis = new JTextField();
GridBagConstraints c = new GridBagConstraints();
JButton sieben = new JButton("7");
JButton acht = new JButton("8");
[...]
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 1;
fenster.getContentPane().add(sieben, c);
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 1;
fenster.getContentPane().add(acht, c);
[...]
sieben.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Integer i = 7;
textErgebnis.setText(i.toString());
}
});
acht.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Integer i = 8;
textErgebnis.setText(i.toString());
}
});
[...]
(Wenn jetzt der Button "7" und danach "8" gedrückt wird, stehen die beiden Zahlen übereinander)
Vielen Dank schon mal im voraus!
1 Antwort
Du meinst wohl, dass du die Texte jedesmal überschreibst?
Hole dir erst den aktuellen Wert aus dem Textfeld, hänge dann deinen neuen Wert an und schreibe das Ergebnis anschließend in das Feld.
int zahl = 7;
String wert = textErgebnis.getText() + zahl;
textErgebnis.setText(wert);