Я хочу реализовать автоматический выбор, когда пользователь вводит вкладки в JTextFields и JSpinners в моих формах. Для этого я использую этот слушатель:JSpinner: autoselect onFocus
public class AutoSelect implements FocusListener {
@Override
public void focusGained(final FocusEvent e) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (e.getSource() instanceof JTextField) {
try {
JTextField t = (JTextField) e.getComponent();
t.selectAll();
} catch (ClassCastException ex) {
//
}
}else if (e.getSource() instanceof JSpinner){
JSpinner spinner = (JSpinner)e.getComponent();
JTextField tf = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();
tf.selectAll();
}
}
});
}
@Override
public void focusLost(FocusEvent e) {
//
}
}
Только он не работает для моих прядильщиков. Событие запускается, правильные строки выполняются, ничего не происходит. Я подозреваю, что я неправильно использую .getTextField(). У кого-нибудь есть рабочее решение для этого?