File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes Focusing Radio Button Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Focusing Radio Button" Watch "Focusing Radio Button" New topic

Focusing Radio Button

Anuradha Narayanan

Joined: Jul 28, 2005
Posts: 1

I've the following scenario:

Radio buttons1 Radio buttons2 Radio buttons3

I've FocusListeners set on the text fields. The event I'm interested is focusLost. While lossing focus from textfield, based on some condition, I'm enabling or disabling all radio buttons. Some condition is that, if there is some text in both the text fields enable radio buttons, otherwise disable them.

I'm entering some text in TextField1, tabing out, entering some text in TextField2, If I tab out now, I want the radio buttons to be enabled and the focus should be on the radio button.
But the actual result I'm getting is radio buttons are enabled and the focus goes to the next component - Button1!
I don't know to fix it.

I simplified the problem to understand. The actual code looks like

private class MyFocusAdapter extends FocusAdapter
public final void focusLost(FocusEvent e)
private void enableDisableRadioButtons()
SwingUtilities.invokeLater(new Runnable()
public void run()

The problem is focus path is not working fine.

The reason I guess is when we tab out from second text field after entering some text there, it should enable the radio buttons, then it should focus the selected radio buton. I guess this is not happening in the same order. At the time of tab out from second text field, as the radio buttons are disabled, the focus goes to the next component - the button. Then the radio buttons gets enabled. I'm not sure. The problem comes only when the radio buttons are disabled. If the radio buttons are already enabled, the the focus path is fine.

Someone suggested to use document listener instead of focus listener.

Previously we had the enable/diable functionality in the keyReleased event of the textfields. So it was working fine earlier.
Later the requirement is changed to do the same in focus lost event. The reason is there will be large number of call to enable/disable that is for each key release event. The same thing will happen if I use document listener! Any idea please!

Sorry for long message!

Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15302

In your focusLost method, check to see which textfield you are in. If you are in the second textfield, requestFocus on the desired component (JRadioButton in your case)

GenRocket - Experts at Building Test Data
I agree. Here's the link:
subject: Focusing Radio Button
It's not a secret anymore!