JTextField durch Button auslösen

matthias(:

Mitglied
Hallo,
Mit der Überschrift meine ich folgendes:
Normalerweise wird beim JTextField die actionPerformed Methode aufgerufen, wenn man Enter drückt.
Ich wollte es aber so machen, dass wenn ich einen Button drücke, die actionPerformed Methode von JTextFiel aufgerufen wird. Ist das möglich?
Wenn ja, kann ich dann mehrere TextFelder durch eine Button "auslösen"?

Mit freundlichen Grüßen
 
Ich würde mir eher mal gedanken über das Softwaredesign an sich machen.. wieso ist es notwendig, die actionPerformed-Methode des TextField auszulösen? Du kannst alle Actions auch direkt im Button registrieren.

Wenn das alles etwas komplizierter ist, würde ich wohl ein zwischengeschaltetes Action-Verwaltungs-Objekt bauen, was sowohl die Actions der textFields und Buttons empfängt und alles in die richtigen Bahnen leitet.
 
Hierfür gibt es zahlreiche Möglicheiten:

Hier eine:

Du erstellst dir einen ActionListener, dieser hat die Methode actionPerformed(..)

Anschließend registriest du diesen sowohl am Textfeld als auch auch Button.

Gruß,

Marcin
 
Ansonsten kann man natürlich per Hand einen KeyEvent konstruieren und an das JTextField übergeben. Hab das mal gemacht, sieht so aus:
Java:
		Component comp=current.getComponent();
		KeyEvent k1=new KeyEvent(comp, KeyEvent.KEY_PRESSED, 0, 0, code, c, KeyEvent.KEY_LOCATION_STANDARD);
		KeyEvent k2=new KeyEvent(comp, KeyEvent.KEY_TYPED, 0, 0, KeyEvent.VK_UNDEFINED, c, KeyEvent.KEY_LOCATION_UNKNOWN);
		KeyEvent k3=new KeyEvent(comp, KeyEvent.KEY_RELEASED, 0, 0, code, c, KeyEvent.KEY_LOCATION_STANDARD);
		comp.dispatchEvent(k1);
		comp.dispatchEvent(k2);
		comp.dispatchEvent(k2);

Hab halt nur so meine Zweifel, ob das im Sinne Deiner Anwendung das richtige ist!?
 

Neue Themen


Zurück
Oben