我有一个带有 documentListener 的 JTextField。当我向此文本字段添加或删除字符时,我想更改背景颜色。我应该正确使用文档侦听器吗?它可以工作,但是当我获得和失去对这个 JTextfield 的关注时,它也会触发,这是不希望的。我没有在这个 JTextField 上添加焦点侦听器。这是我的代码,有什么建议可以解决我的问题吗?
numPlotRowsJTextField = BasicComponentFactory.createIntegerField(valueModelNumberPlotRowsJTextField);
numPlotRowsJTextField.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e)
{
}
@Override
public void insertUpdate(DocumentEvent e)
{
numPlotRowsJTextField.setBackground(Color.cyan);
}
@Override
public void changedUpdate(DocumentEvent e)
{
}
});
另请注意,我正在使用 JGoodies Binding,我开始相信这是这个问题的根源。Swing w/o JGoodies 不应该通过改变焦点来触发文档侦听器事件......