JavaFX技巧8:美丽深层
如果要為JavaFX開發UI框架,請養成一種習慣,始終將自定義控件拆分為控件類和外觀類。 來自Swing自己,這對我來說并不明顯。 Swing還使用MVC概念并將實際的組件呈現委托給UI委托,但是擴展Swing的人們大多將其控件之一子類化,并為子類添加了擴展/修改。 實際上只有很少的框架與UI委托一起工作(例如MacWidgets )。
我有幸能夠比較相同的產品/控件的實現(一旦在Swing中完成,又在JavaFX中完成),并且我注意到JavaFX的實現更加簡潔,主要是因為控件和外觀的拆分(下一個行:CSS樣式和屬性綁定)。 在Swing中,我向框架用戶公開了很多東西,這些東西我個人認為是“實現細節”,但后來變成了公共API。 JavaFX體系結構使框架開發人員在公共API和內部API之間劃清界限的地方變得更加明顯。
控制
控件類存儲控件的狀態,并提供與其交互的方法。 狀態信息可以是:控件可視化的數據(例如TableView中的項目),可視屬性(顯示,隱藏),工廠(例如單元工廠)。 交互可以是:滾動到一個項目,顯示給定的時間,執行此操作。 控件類是您的框架代碼和使用該框架的應用程序之間的契約。 它應該設計得很好,干凈,穩定并且是最終的 。
皮
狂野西部是發瘋的地方。 外觀通過組合現有控件或擴展非常基本的類(例如Node或Region)來創建控件的視覺表示。 皮膚通常放在單獨的軟件包中,這些軟件包的軟件包名稱暗示其中包含的API不被考慮用于公共用途。 如果有人使用它們,則后果自負,因為框架開發人員(您)可能會決定在各個發行版之間進行更改。
翻譯自: https://www.javacodegeeks.com/2014/07/javafx-tip-8-beauty-is-skin-deep.html
總結
以上是生活随笔為你收集整理的JavaFX技巧8:美丽深层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机怎么监控安卓手机(监控安卓手机)
- 下一篇: Java EE并发API教程