java - 如何扩展 JTextField 以生成对 focusgain 的定义响应

标签 java swing focus jtextfield

我怀疑这是一个非常微不足道的问题。 我希望创建一个扩展 JTextField 的组件 MyTextField; 该组件应通过更改颜色来响应获得焦点,并根据输入是否有效,通过更改为两种颜色之一来响应失去焦点。 怎么办?

最佳答案

您可以使您的 MyTextField 类扩展 JTextField 并实现 FocusListener

选项#1

public class MyTextField extends JTextField implements FocusListener  {
    public MyTextField (){
        addFocusListener(this);
    }

    @Override
    public void focusGained(FocusEvent event) {

    }

    @Override
    public void focusLost(FocusEvent event) {

    }
}

选项#2

public class MyTextField extends JTextField {
public MyTextField (){
    addFocusListener(new FocusListener() {
            @Override
            public void focusLost(FocusEvent arg0) {
            }

            @Override
            public void focusGained(FocusEvent arg0) {
            }
        });
}
}

关于java - 如何扩展 JTextField 以生成对 focusgain 的定义响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15264620/

相关文章:

java - 如何设置鼠标监听器使其无法在另一个表中单击?

Java,15个益智游戏的倒计时器?请帮助我理解计时器

Java基础画图程序丑刷

python - 将焦点放在 Tkinter 窗口上(取决于平台?)

wpf - WPF DataGridTemplateColumn。我想念什么吗?

java - SonarLint:用方法引用替换此 lambda

java - 制作正确的二叉树

java - Firebase Valueeventlistener 花费了很多时间

silverlight - 如何在Silverlight中赋予文本框焦点?

java - 如何将纹理分配给 java3d 中加载的 OBJ 文件