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

时间:2013-03-07 06:31:56

标签: java swing focus jtextfield

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

1 个答案:

答案 0 :(得分:4)

您可以将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) {
            }
        });
}
}