DOC-13-02 对于Swing开发者JavaFX的优势
JavaFX设计提供给应用程序以高雅的GUI特性,如流畅的动画,web视图,音视频播放,CSS样式等。
十多年来,应用程序的开发者发现Swing在创建图形用户界面(GUIs)和在Java应用程序中加入交互方面是一个非常高效的工具包。但是现在许多流行的GUI特性并不能用Swing轻易的实现。这些特性和接下来的章节中所描述的其他特性可以帮助应用程序开发者全方位满足最新的需求。文档中后面的章节解释了如果一起使用Swing和JavaFX。
使用FXML
FXML是一种基于XML的标记性语言,可以使开发者在JavaFX应用程序中创建用户界面(UI)时保持与应用程序逻辑实现分离。Swing从来没有提供一种声明式方法来创建用户界面。这种创建UI的声明式方法特别适合场景图,因为场景图在FXML中更显而易见。使用FXML使开发者更简单地维持复杂的用户界面
查看“掌握FXML”章节,来学习更多使用FXML的优点。
JavaFX场景生成器(JavaFX Scene Builder)
为了帮助开发者建立应用程序的布局,JavaFX提供了叫做JavaFX场景生成器的一套设计工具。你可以拖拽UI组件到JavaFX内容面板中,工具会生成可以在NetBeans或Eclipse中使用的FXML代码。
查看“场景图生成器文档”来获取更多信息。
CSS支持
级联样式表包含控制UI元素显示的样式定义。在JavaFX应用程序中CSS的用法和在HTML中的用法相似。这样你可以简单的自定义并且开发JavaFX控件和场景图对象的主题。
与设置内联样式不同,使用CSS可以使你分离应用程序的逻辑和视觉外观设置。使用CSS也简化了应用程序外观的后期维护,并提供了一些性能优势。
查看“JavaFX应用程序与CSS入门到精通”和“JavaFX CSS参考指南”来获取更多CSS的信息
JavaFX媒体支持
使用JavaFX平台提供的媒体支持,你可以增加如音视频媒体文件播放功能来扩展你的桌面应用程序。支持JavaFX的所有平台均支持媒体功能。查看“JavaFX媒体介绍”了解支持的媒体编码。
查看“使用媒体特性扩展应用程序”章节来获取更多细节。
动画
动画为你的应用程序界面带来了动态现代的外观。在Swing应用程序中动画对象也可以实现但是并不直观简单。在Swing渲染模型中,绘制都发生在双重缓冲区中。所有对象属性和位置随时间发生的改变都在双重缓冲区中渲染。只有当绘制完成时,最终结果才会真实绘制在屏幕上。为了展示对象基于时间的改变,需要Swing开发者具有相当功力才能实现。相反,JavaFX使开发者在应用程序中可以更简单的使用动态图形对象,因为这个平台下的场景图以及特殊的API都是为了这个目的而创造的。
查看“创建转变和时间线动画”,来获取更多JavaFX动画的细节。请务必检查“树动画样例”。
HTML内容
长期以来Swing开发者都想在Java应用程序中渲染HTML内容。JavaFX通过提供具有web视图和完整浏览器功能的一个用户界面组件带来了这些特性。
查看“在JavaFX应用程序中添加HTML内容”来获取更多细节。

