java - Programmatically trigger a key events in a JTextField? -
how programmatically trigger key pressed event on jtextfield listening events on enter?
the listener key events on jtextfield declared follows:
mytextfield.addkeylistener(new keyadapter() { @override public void keytyped(keyevent e) { if (e.getkeychar() == keyevent.vk_enter) { // stuff } } }); thanks.
do not use
keylisteneronjtextfieldaddactionlistenertriggered when enter pressed (thank @robin +1 advice)jtextfield textfield = new jtextfield(); textfield.addactionlistener(new actionlistener() { @override public void actionperformed(actionevent ae) { //do stuff here when enter pressed } });to trigger
keyeventuserequestfocusinwindow()on component , userobotclass simulate key press
like so:
textfield.requestfocusinwindow(); try { robot robot = new robot(); robot.keypress(keyevent.vk_enter); } catch (awtexception e) { e.printstacktrace(); } example:
import java.awt.awtexception; import java.awt.robot; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.keyevent; import javax.swing.jframe; import javax.swing.jtextfield; import javax.swing.swingutilities; public class test { public static void main(string[] args) { swingutilities.invokelater(new runnable() { @override public void run() { jframe frame = new jframe(); frame.setdefaultcloseoperation(jframe.exit_on_close); jtextfield textfield = new jtextfield(); textfield.addactionlistener(new actionlistener() { @override public void actionperformed(actionevent ae) { system.out.println("here.."); } }); frame.add(textfield); frame.pack(); frame.setvisible(true); textfield.requestfocusinwindow(); try { robot robot = new robot(); robot.keypress(keyevent.vk_enter); } catch (awtexception e) { e.printstacktrace(); } } }); } } update:
as others @robin , @mkorbel have suggested might want documentlistener/documentfiler (filter allows validation before jtextfield updated).
you need in event of data validation imo.
see similar question here
it shows how add documentfilter jtextfield data validation. reason document filter said allows validation before chnage shown more useful imo
Comments
Post a Comment