Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich arbeite gerade das erste mal mit Textfeldern und Listernern bzw. dem ActionListener.
Zu aller erst: Gibt es bessere Listener für Textfelder als den ActionListener? (Z.B. Keylistener, den ich jedoch nicht so ganz verstehe) Könnte mir dann jemand erklären wie die Alternative funktioniert.
Zu meinem eigentlichen Problemen: Mein GUI hat mehrere Textfelder. Ich möchte dann z.B. den Wert des ersten Textfelds vom zweiten abziehen. Jedoch kann ich nicht auf die Variable zugreifen, auf die der Input gespeichert wurde (ich hoffe ich hab mich klar genug ausgedrückt).
Hier mal ein Auszug vom Quelltext:
Java:
/...
/...
/...
final JTextField feldeinkauf= new JTextField();
feldeinkauf.setBounds(260,30,120,28);
feldeinkauf.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String inputeinkauf = feldeinkauf.getText();
/* System.out.println(inputeinkauf); -> Hab ich als Test gemacht -> In der Konsole kann man
den Input sehen, funktioniert also
*/
}
});
gui.add(feldeinkauf);
final JTextField feldverkauf= new JTextField();
feldverkauf.setBounds(385,30,120,28);
feldverkauf.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String inputverkauf = feldverkauf.getText();
}
});
gui.add(feldverkauf);
/* Wenn ich folgendes berechnen will, wird mir angezeigt, dass die Variablen inputverkauf und
inputeinkauf noch nicht nicht erstellt wurden */
gesamt= inputverkauf-inputeinkauf
/...
/...
/...
Warum liest du den Inhalt des Textfeldes in einer ActionEvent-Methode des Textfeldes aus?
Erzeuge lieber noch einen Button, der gedrückt wird wenn beide Textfelder mit Werten versorgt wurden.
Du brauchst hier nicht wie in der Konsole den Input direkt einlesen. Die Werte werden automatisch im Datenfeld gespeichert und können auch später über den Namen.getText() ausgewertet werden.
Warum liest du den Inhalt des Textfeldes in einer ActionEvent-Methode des Textfeldes aus?
Erzeuge lieber noch einen Button, der gedrückt wird wenn beide Textfelder mit Werten versorgt wurden.
Du brauchst hier nicht wie in der Konsole den Input direkt einlesen. Die Werte werden automatisch im Datenfeld gespeichert und können auch später über den Namen.getText() ausgewertet werden.