我想在用户通过我的表单中的 JTextFields 和 JSpinners 选项卡时实现自动选择。为此,我正在使用此侦听器:
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) {
//
}
}
Run Code Online (Sandbox Code Playgroud)
只有它对我的微调器不起作用。事件被触发,正确的行被执行,什么也没发生。我怀疑我没有正确使用 .getTextField()。有没有人对此有一个可行的解决方案?