2012-02-20 73 views
1

我有TextListener我想以編程方式更改,而不觸發TextListener。我只想讓文本偵聽器在用戶文本更改時激活。 我應該如何繼續?在不觸發TextListener的情況下更改TextField值

TextField human = new TextField(); 
human.addTextListener(myListener); 

// I don't want this line to trigger listener 
human.setText(myString); 

回答

3

您可以刪除並重新添加偵聽器或給它一個布爾值以在應該偵聽時切換。

編輯:根據湯姆霍金:第二個建議,使用一個標誌,比添加/刪除一個監聽器更受歡迎,這對我也是有意義的。

+1

使用標誌會比添加和刪除偵聽器好得多。 (也可以使用代理文檔來檢測哪些來源發生了變化。) – 2012-02-20 16:32:18

+0

@ TomHawtin-tackline:感謝您的寶貴意見。我編輯了我的答案以反映您的建議。你能解釋一下還是提供一個關於代理文檔使用的鏈接(或者隨意編輯我的答案)?謝謝! – 2012-02-20 17:31:52

+0

,事實上AWT rellated answerers批發死於上個世紀:-) – mKorbel 2012-02-20 17:45:31

相關問題