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 を使用していることにも注意してください。JGoodies を使用しない Swing は、フォーカスを変更してドキュメント リスナー イベントを発生させるべきではありません...