A logo showing the text blog.marcnuri.com
Español
Home»Java»Detecting Tab Key Pressed Event in JTextField 's // Event.VK_TAB KeyPressed

Recent Posts

  • Fabric8 Kubernetes Client 6.4.1 is now available!
  • I bought an iPad
  • Three years at Red Hat
  • Fabric8 Kubernetes Client 6.3.1 is now available!
  • Eclipse JKube 1.10 is now available!

Categories

  • Front-end
  • Java
  • JavaScript
  • Legacy
  • Operations
  • Personal
  • Pet projects
  • Tools

Archives

  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • December 2019
  • October 2019
  • September 2019
  • July 2019
  • March 2019
  • November 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • December 2017
  • July 2017
  • December 2015
  • November 2015
  • November 2008
  • November 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007

Detecting Tab Key Pressed Event in JTextField 's // Event.VK_TAB KeyPressed

2007-06-06 in Java / Legacy tagged Java / JComponent / JTextField / KeyEvent / KeyPressed / Swing by Marc Nuri | Last updated: 2021-02-13

Adding a KeyListener to a JTextField to detect KeyPressed events is pretty straightforward. But maybe you have encountered some problems when trying to detect special keys such as TABs. This issue is due to LowLevel keyEvents captured by Swing's default FocusTraversalKeys. What we need to do to capture the KeyEvent#VK_TAB is to remove the default FocusTraversalKeys from the component.

1myJTextField.setFocusTraversalKeys(
2    KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);

Once we've done this with the component, the tab KeyEvent will not be captured by swing's default focus traversal keys and we will be able to add events normally.

1myJTextField.addKeyListener(new java.awt.event.KeyAdapter() {
2  public void keyPressed (java.awt.event.KeyEvent evt){
3    if (evt.getKeyCode() == evt.VK_TAB) {
4      /* YOUR CODE GOES HERE */
5      doSomething();
6      /* If you want to change the focus to the next component */
7      nextJComponent.grabFocus();
8    }
9  }
10});
Twitter iconFacebook iconLinkedIn iconPinterest iconEmail icon

Comments in "Detecting Tab Key Pressed Event in JTextField 's // Event.VK_TAB KeyPressed"

  • Avatar for me
    me
    2012-07-23 21:18
    Useful tip, Thanks.
  • Avatar for JoakimC
    JoakimC
    2012-10-06 16:05
    Perfect! Works like a charm! Thanks!

Post navigation

← Replacing Apostrophes from Strings // Cleaning String to pass them as SQL statementsDynamic icons for your JComponents // Create an icon JButton with dynamic icons →
© 2007 - 2023 Marc Nuri