JavaFX技巧4:总结
在為JavaFX開發(fā)自定義控件時,我強烈建議您遵循JavaFX核心控件的腳步,并使控件的API盡可能最終化,并在所有方法聲明的前面放置“ final”關鍵字。
例
在FlexGanttFX中,我有很多看起來像這樣的代碼:
為什么?
設計控件時,請牢記控件的特定行為。 可以通過使用“最終”來保護此行為。 如果您不使用它,則其他開發(fā)人員將繼承該控件的子類,他們將覆蓋其方法,他們將遇到問題,并將缺陷票證提交給您的問題管理工具。 最后,你會浪費在追逐自己的錯誤你的時間。 僅由于無法以預見的方式使用控件而存在的錯誤。
哪里?
控件類的公共API尤其需要保護,該類正在管理控件的“狀態(tài)”。 它是您與控件用戶之間的合同。 對于控件的外觀而言,情況并非如此,因為外觀是“實現(xiàn)細節(jié)”,并且修改外觀的人都知道它們正在干擾控件的內部工作。 您仍然希望其他開發(fā)人員可以輕松地修改控件的“外觀”。
新概念?
用這種方法保護控件不是一個新概念,但在Swing中并沒有使用太多。 現(xiàn)在,使用“最終”的情況更強,因為JavaFX控件比Swing控件更易于觀察。 他們通過屬性和可觀察的集合公開其狀態(tài)。 這樣,應用程序可以通過“監(jiān)聽”控件而不是通過覆蓋控件的方法將自身插入控件來對狀態(tài)更改做出反應。 另一個原因是JavaFX中將其完全分為“控件”和“皮膚”。 Swing組件通常在組件本身中而不是在UI委托中具有“外觀”方面(例如paintComponent())。
翻譯自: https://www.javacodegeeks.com/2014/07/javafx-tip-4-have-the-final-word.html
總結
以上是生活随笔為你收集整理的JavaFX技巧4:总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带有Angular JS的Java EE
- 下一篇: JavaFX技巧5:可观察