将边框设置为组件扩展 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());
失去焦点
祝你好运
我尝试创建自己的 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());
失去焦点
祝你好运