У меня есть JTextField с documentListener на нем. Я хочу изменить цвет фона, когда добавляю или удаляю символы в этом текстовом поле. Я должен использовать прослушиватель документов правильно? Это работает, но также срабатывает, когда я получаю и теряю фокус на этом поле 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 без JGoodies не должен запускать события слушателя документа, меняя фокус ...