У меня есть 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 не должен запускать события прослушивателя документов, меняя фокус...