アプリケーションにtextFieldがあり、ユーザーがJListの項目をクリックすると、プログラムで開始されます(textField.setText())。後でユーザーがこの値を手動で変更します。このテキストフィールドの変更を検出するためにdocument-listenerを使用することに行き詰まります。プログラムで変更が発生した場合は何もしませんが、手動で変更した場合は背景を赤に変更する必要があります。
textFieldが手動で入力されたかtextField.setText()によって入力されたかを検出するにはどうすればよいですか?
txtMode.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
if (!mode.equals(e.getDocument()))
txtMode.setBackground(Color.red);
}
public void removeUpdate(DocumentEvent e) {
if (mode.equals(e.getDocument()))
txtMode.setBackground(Color.white);
}
public void changedUpdate(DocumentEvent e) {
//To change body of implemented methods
}
});