1

here my situation:

textField1.addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent e) {
            textField1StateChanged(e);
        }
    });

the error said addChangeListener is undefined for the type JTextField. is there any thing else to import? (i'm a newbie in java) thanks

4

3 回答 3

2

你可能想试试这个:

// Listen for changes in the text
textField.getDocument().addDocumentListener(new DocumentListener() {
  public void changedUpdate(DocumentEvent e) {
      //your code
  }
  public void removeUpdate(DocumentEvent e) {
  }
  public void insertUpdate(DocumentEvent e) {
  }
});
于 2012-06-29T07:12:01.277 回答
2

还有什么要进口的吗?

这与进口无关,JTextField有可用的方法。那不是其中之一。

有关表中的详细信息,请参阅Swing 组件支持的侦听器:Swing 组件支持的其他侦听器

于 2012-06-29T07:14:49.737 回答
1

那是因为 JTextField 中没有这样的方法。相反,您需要做的是让您的类实现 ChangeListener,并实现该stateChanged()方法。在这里,您将从传入的 ChangeEvent 中获取触发事件的组件,并采取相应的行动。这是文档中的一个示例:

class YourClass implements ChangeListener {
    public void stateChanged(ChangeEvent e) {
        if (e.getSource() instanceof JTextField) {
           JTextField source = (JTextField)e.getSource();
           if(!source.getValueIsAdjusting()) {
             // check if this is the component you want and respond to the event 
           }
        }    
    }
}
于 2012-06-29T07:13:47.033 回答