我試圖找到一個類似的查詢,但不能因此iam發佈此。 我的工作已經作出了一些類似的JButton,JComboBox的等組件的GUI Swing應用程序基於一些業務邏輯在運行時顯示/隱藏擺動組件的良好設計模式
我有,我有以下的情況
- 常見的一個重要的商業案例組件集應該在任何時候都可以看到
- 中的組件集這並不適用於一定的情況下應該被隱藏
- 的一套適用應顯示在除了什麼共同組成的
- 有一個要求,我將不得不在JavaFX中重做此應用程序,因此有一種方法可以使此代碼獨立於Swing技術,這是非常好的。
方法1:在GUI類中有單獨的方法來隱藏/取消隱藏組件,並讓視圖/控制器根據場景來處理它。然而,這取決於視圖,並且必須從頭開始編寫,一旦我移動到JavaFX
方法2:定義一個規則集,它基本上包含可以隱藏的類的屬性名稱並讓它一段常見的代碼通過利用反射來隱藏/取消隱藏它。這與使用的視圖技術的類型無關。 但是,在代碼審查過程中反射的使用總是引起人們的注意,因爲推薦的做法是儘量避免使用它,因此要讓人們相信它有點困難。
在這種情況下,在複雜性與代碼重用與涉及的工作方面使用什麼方法是一種好方法? 也有一種設計模式,可以在這種情況下有所幫助嗎?
感謝您的幫助!
*「有一個要求,我將不得不在JavaFX中重做此應用程序,因此..」* ..它幾乎與Swing無關。 – 2014-12-04 07:03:29
@AndrewThompson:如果我決定使用第一種方法,我會重寫代碼來隱藏組件,這就是我所指的。對於ex comp1.setVisible(false)將不得不爲所有此類組件重寫 – 2014-12-04 07:11:23
如果它是Swing,則使用「Action」對象,如果不相關則禁用它們。 – 2014-12-04 07:16:20