Hallo!
Ich habe in einer Anwendung mehrere Textfelder für Benutzereingaben. Kann mir jemand sagen, wie ich die Quelle des ActionEvents feststellen kann? Mit Buttons hat das problemlos funktioniert, aber hier tue ich mich etwas schwer.
Gruß
Michael
Hallo!
Ich habe in einer Anwendung mehrere Textfelder für Benutzereingaben. Kann mir jemand sagen, wie ich die Quelle des ActionEvents feststellen kann? Mit Buttons hat das problemlos funktioniert, aber hier tue ich mich etwas schwer.
Gruß
Michael
Hi Michael,
Ich habe in einer Anwendung mehrere Textfelder für
Benutzereingaben. Kann mir jemand sagen, wie ich die Quelle
des ActionEvents feststellen kann? Mit Buttons hat das
problemlos funktioniert, aber hier tue ich mich etwas schwer.
suchst du das:
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/AWT…
Aber was soll da anders sein als bei Buttons?
Alles Gute wünscht
… Michael
Hallo Michael,
Aber was soll da anders sein als bei Buttons?
Alles Gute wünscht
… Michael
Das dachte ich auch. Bei den Buttons habe ich das folgendermaßen versucht:
public void actionPerformed(ActionEvent event)
{
String cmd = event.getActionCommand();
if (cmd.equals("Bezeichner")) {
...do something...
}
}
Bei mehreren Buttons konnte ich über cmd.equals(…) den gedrückten Button ermitteln. Mit den Textfeldern habe ich das auf die gleiche Art versucht:
TextField tf = new TextField(„some text“);
tf.addActionListener(this);
add(tf);
Nun wollte ich mit if(cmd.equals…) den Bezeichner des Textfeldes abfragen und anschließend den Inhalt in einer Variablen speichern.
Es hat aber nicht funktioniert. Wie kann ich in actionPerformed() nun herausfinden, welches Textfeld eine Eingabe erfahren hat und dessen Inhalt weiterverarbeiten?
ratlose Grüße
Michael
Hallo Michael,
Das dachte ich auch. Bei den Buttons habe ich das
folgendermaßen versucht:String cmd = event.getActionCommand();
Probiere es damit.
Alles Gute wünscht
… Michael
Hallo!
Basierend auf Michael H.s Antwort bzgl. getSource:
TextField tf = new TextField();
tf.setName("TEXT\_1");
tf.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("I am " + ((TextField) e.getSource()).getName());
}
});
Evtl. zu beachten:
It is also possible to fire an ActionEvent. If action events are
enabled for the text field, they may be fired by pressing the Return
key.
http://java.sun.com/j2se/1.3/docs/api/java/awt/TextF…
Bei JTextField kann man uebrigens ein actionCommand setzen.
Gruss
Patrick
Vielen Dank euch beiden!
Danke für die Hilfe! Jetzt funktioniert es wunderbar!
Gruß und schönes WE
Michael