【发布时间】:2015-10-28 06:22:05
【问题描述】:
我正在向我的班级添加一些自定义侦听器,但没有触发文档事件。为什么?
public class MyClass{
MyCustomListener mcl = new MyCustomListener();
for(int i = 0; i < MAX; i++) {
getTxt_ppu().add(new CustomTextField(40));
getTxt_ppu().get(i).getDocument().addDocumentListener(mcl);
getTxt_ppu().get(i).addFocusListener(mcl);
}
//...Some code....
private class MyCustomListener implements DocumentListener, FocusListener, Serializable {
int index;
@Override
public void focusGained(FocusEvent e) {
System.out.println("Focus");
}
@Override
public void focusLost(FocusEvent e) {
}
@Override
public void insertUpdate(DocumentEvent e) {
System.out.println("a");
}
@Override
public void removeUpdate(DocumentEvent e) {
}
@Override
public void changedUpdate(DocumentEvent e) {
}
}
}
执行并单击我的CustomTextField 时,它确实会显示在控制台“Focus”中,但是当我在文本字段中输入内容时,“a”永远不会打印出来。
当我在insertUpdate 方法中输入内容时,eclipse 会在底部显示一条红色消息,上面写着
"MyClass.MyCustomListener 类型的方法 insertUpdate(DocumentEvent) 必须 覆盖或实现超类型方法"
我该如何解决这个问题?
【问题讨论】:
标签: java swing events documentlistener focuslistener