java - JTextField 在获得焦点时选择所有内容

标签 java swing jtextfield focuslistener

我有一个实现 FocusListener 的类,类中有很多 JTextField,我希望在获得焦点时全部选择它们。这是我的 focusGained() 函数:

@Override
public void focusGained(FocusEvent fe)
{
    JTextField txt = (JTextField)fe.getComponent();
    txt.selectAll();
}

我尝试将 fe 转换为组件,然后将 selectAll() 转换为组件,但它不起作用。对此有什么想法吗?

最佳答案

你需要使用getSource()

((JTextField)fe.getSource()).selectAll();

我会亲自检查 instanceof fe.getSource()

@Override
public void focusGained(FocusEvent fe) {
    if (!(fe.getSource() instanceof JTextField)) return;
    JTextField txt = (JTextField)fe.getSource();
    txt.selectAll();
}

关于java - JTextField 在获得焦点时选择所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36209443/

相关文章:

java - 将对象命名为与类名相同但没有大写字母是否违反 Java 约定?

java - 获取特定迭代下的所有任务(符合条件)?

java swing jtable 在单个表中从数据库添加两个表

java - 限制数字输入 JTextField

java - 我们如何在输出屏幕上的文本字段上输入值?

java - 使用 JTextField - 无法将值转换为 int

java - 404 请求的资源不可用 Eclipse/Tomcat

java - 在 Android 中打乱数组

java - 按钮和窗口之间的空间

Java - Action 监听器 : Get components from parent