友情链接网站大全,apache建设网站,公司网站免费建站,酷炫html5网站如果要为JavaFX开发UI框架#xff0c;请养成一种习惯#xff0c;始终将自定义控件拆分为控件类和外观类。 来自Swing自己#xff0c;这对我来说并不明显。 Swing还使用MVC概念并将实际的组件呈现委托给UI委托#xff0c;但是扩展Swing的人们大多将其控件之一子类化#xf… 如果要为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