2012-09-01 28 views
0

使用Jfaces組件我想知道如何檢測UI控件是否已被用戶更改。
我已經看到,有接口PropertyChangeSupport在哪裏你可以註冊PropertyChangeListener,但我不知道如何在SWT應用程序中使用這些。
例如,我的數據模型有以下類。。如何收聽通知在表中?

class Person{ 
    String firstName; 
    String lastName; 
    String address; 
    //etc 

} 

這實質上表示在SWT Table一個行(LabelProvider將使行對象是Person)。
我假設班級人員應該有一個PropertyChangeSupport成員變量的變化,但我不知道誰註冊通知?
The ViewPartLabelProvider?還有別的嗎?
任何幫助清除了這一點?

回答

1

Vogella在這個主題上有兩個很好的教程。

This說明如何設置您的數據結構幷包括PropertyChangeSupport(但是,它不用於這個turorial)。更新您的查看器的簡單方法是viewer.refresh()。這將不得不手動調用。

This教程演示瞭如何使用DataBinding (最後使用PropertyChangeSupport),它將在發生更改時通知監聽器。

+0

我已閱讀本教程。實際上,類'Person' **是從本教程**。在閱讀完本教程後,我不知道如何使用'PropertyChangeSupport'.Also注意,在教程中,偵聽器是' Person' class.Not sure why – Cratylus

+0

@Cratylus是的,第一個教程就是這樣。如前所述,這個'PropertyChangeSupport'不使用。在第二個教程中,它最終被使用。 – Baz

+0

所以你說我應該閱讀第二個教程來清除它? – Cratylus