gpt4 book ai didi

java - 多个 if then else 在监听器类上

转载 作者:行者123 更新时间:2023-11-29 04:27:06 29 4
gpt4 key购买 nike

是否有使用监听器的 getSource() 执行 if-then-else 语句的更整洁/更简单的方法?

我有一个 FocusListener,我需要突出显示触发 FocusListener 的 JTextField 中的文本

    private class calculator implements FocusListener{ 


public void focusGained(FocusEvent evt) {


if(evt.getSource()==txtInitialRead ){


txtInitialRead.selectAll();

}

我的问题是我有很多 JTextFields,需要在 FocusListener 中为每个创建一个 if 语句。有没有简单的方法可以做到这一点?切换分支不适用于此对象类型。

当然这不是什么大不了的事,我只是认为必须有一种更简洁的方法来做到这一点。

谢谢!

最佳答案

简单地高亮显示当前组件:

@Override
public void focusGained(FocusEvent evt) {
JTextComponent tComponent = (JTextComponent) evt.getSource();
tComponent.selectAll();
}

任何具有此监听器的 JTextField(或其他文本组件)在获得焦点时都会选中所有文本。

只是不要将此监听器添加到非文本组件,否则您可能会抛出类强制转换异常。

关于java - 多个 if then else 在监听器类上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45740942/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com