2
我使用PropertyChangeListener
代替JTextFields
來收聽的值的變化,並且它能正常工作,而當我使用它時JTextArea
;代碼中沒有錯誤,並且它正常編譯。但是,當JTextField
文本值發生某些更改時,此方法顯示響應,但在JTextArea
時沒有響應。Java:PropertyChangeListener for JTextArea沒有迴應?
這是我寫的代碼
裏面的構造函數:
textField_1.addPropertyChangeListener("value", new ChangeListener());
textField_2.addPropertyChangeListener("value", new ChangeListener());
textArea.addPropertyChangeListener("value", new ChangeListener());
而且某處的類中:
private class ChangeListener implements PropertyChangeListener
{
@Override
public void propertyChange(PropertyChangeEvent e)
{
Object source = e.getSource();
if ((source == textField_1) || (source == textField_2) || (source == textArea))
{
System.out.println("some value changed "+ source.getClass());
}
}
}
我每次都使用我做一個新值更改爲這些compomemts文本值。
感謝
謝謝; DocumentListener是完美的 –
謝謝; 「DocumentListener」是完美的。但我想知道;由於在我的代碼中沒有錯誤,並且將'PropertyChangeListener'添加到'JTextArea'編譯的行中,爲什麼不響應呢?我用'DocumentListener'替換它現在可以工作。 **不管怎樣,謝謝;你的回答是完美的。** –
很高興如果你能幫助你,只有Document負責監聽來自/到JTextComponent的所有更改, – mKorbel