将边框设置为组件扩展 JTextField

Set border to component extends JTextField

我尝试创建自己的 YTextField,我将 class 扩展到 JTextField,并且我想在 FocusListener 时设置新边框:

这是我的代码:

public class YTextField extends JTextField {

    public YTextField() {
        super();
        super.setFont(new java.awt.Font("SansSerif", 0, 14));
        FocusListener highlighter = new FocusListener() {

            @Override
            public void focusGained(FocusEvent e) {
                //Set my border
                Border border = BorderFactory.createLineBorder(Color.red);
                super.setBorder(UIManager.getBorder(border));
            }

            @Override
            public void focusLost(FocusEvent e) {
                //Set the default border
                super.setBorder(UIManager.getBorder("TextField.border"));

            }
        };
        super.addFocusListener(highlighter);
    }
}

知道如何创建此组件以便设置边框 focusGained 吗?

你可以直接把获得的注意力放在上面

setBorder(BorderFactory.createLineBorder(Color.red)); 

setBorder(BorderFactory.createEmptyBorder());

失去焦点

祝你好运