一個Java Swing應用程序是如何組織的,以實現MVC架構?的Java Swing的MVC架構
2
A
回答
6
2
我會分類我的課:
- 對象類:代表對象
- 功能類:提供的功能。例如,方法來讀取/可能使用一些對象類
- 和GUI類(使用擺動),這將是什麼,用戶將看到寫文件或方法來進行計算。這些類將完成功能類提供的功能。
0
你的項目必須至少由三個實體:你model
,你view
和尤爾controller
。你的模型代表你的數據,視圖是您的數據視圖和控制器的東西,同時創建視圖和控制器。
讓我們假設你有一個矩形,並且想要構建一個GUI,當用戶鍵入它的邊時,該GUI將顯示該矩形的區域。
您的模特必須延伸Observable
班,通過這種方式您可以在您的MCV architecture
中將班級Square標記爲模特。
public class Square extends Observable {ecc....}
當您設置的一面,你必須爲改變設定模式的狀態,並通知被監聽你的模型觀察員,如:
public void setSide(double side) {
this.side=side;
setChanged();
notifyObservers();
}
PS:setChanged()
和notifyObservers()
是由Observable
類提供。
現在第二步,您的視圖必須實現Observer
接口,因此您將此標記爲模型更改的偵聽器。落實觀察員迫使你寫update
方法。
public class Square_View implements Observer {
JLabel area;
......
@Overried
public void update (Observable o, Object arg1) {
Square square=(Square)o;
area.setText(square.getArea());
}
那麼,只要你的方的一面改變,觸發通知和更新方法被調用。
現在controller
,MVC架構的腦海:
public class MyProgram extends JFrame {
... somewhere in your class
Square s=new Square();
Square_View sv=new Square_View();
s.addObserver(sv);
}
正如我以前說過,你同時創建模型和視圖,並註冊視圖觀察員模型。
相關問題
- 1. Java MVC Web框架的架構差異
- 2. 瞭解Java MVC和Swing框架
- 3. 的Java Swing的MVC問題
- 4. Java swing的代碼重構
- 5. Java Swing中的模型/ MVC的用途
- 6. 高級Java swing gui框架
- 7. Java Swing可滾動框架
- 8. MVC 3架構?
- 9. jQuery MVC架構
- 10. flex mvc架構
- 11. MVC架構模式
- 12. java swing更新框架中的內容
- 13. mod_rewrite的規則MVC架構
- 14. Java Swing程序結構
- 15. Java Swing GUI代碼結構
- 16. 構建Java Swing GUI的最佳方法?
- 17. MVC網站架構
- 18. MVC架構像laravel
- 19. ASP MVC EF6架構
- 20. EXTJS 4 MVC架構
- 21. MVC架構:討論
- 22. 從java swing上的子框架管理父框架
- 23. Java庫架構
- 24. 用的Java Swing
- 25. java中的MVC構想
- 26. java swing複選框java swing
- 27. MVC和N層架構
- 28. 改善Asp.net MVC層架構
- 29. 架構多層vs mvc
- 30. 笨MVC控制器架構
另請參閱此[答案](http://stackoverflow.com/questions/3066590/gui-problem-after-rewriting-to-mvc/3072979#3072979)。 – trashgod
當谷歌再次下跌?但嚴重的是,這個問題在很多地方都被問及過很多次。 –