在我的應用程序中,我有View
觀察到Model
更改。 Controller
負責處理由View
派遣的事件和更新Model
。Java MVC:使用觀察者模式更新視圖
爲了舉例,假設我有兩個視圖。首先,InputView
包含兩個JSpinner
元素(Spinner1
和Spinner2
)。其次,ResultView
,包含JLabel
來自紡紗廠的值。作爲附加限制,我們希望Spinner2
的值取決於Spinner1
的值。可以說,Spinner2
中的最小值應該是2x
,當前值爲Spinner1
。
當我們更改Spinner1
的值Controller
收到ChangeEvent
並更新Model
。由於我們還需要調整Spinner2
的值,因此將會發送另一個ChangeEvent
並且第二次更新Model
。這個模式的問題是,每更新一次Model
更新觀察View
刷新。因此,在此示例中,View
將刷新3次或4次而不是一次(Spinner1
更改,Spinner2
最小值更改,Spinner2
值更改)。這會導致閃爍。
如何確保在所有更改完成後View
只更新一次?
請張貼SSCCE,因爲我不知道閃爍,您的代碼中必須存在另一個棘手的問題 – mKorbel 2012-01-08 13:56:55
閃爍我的意思是隨之而來的刷新視圖。如果我們使用某種圖表或任何比標籤更復雜的圖表,多個刷新將會顯示 – 2012-01-08 16:00:41