在这篇文章中,我将记下为您的客户开发漂亮应用程序的最佳JavaFX库。JavaFX主要用于创建桌面应用程序,它旨在取代JavaSwing。JavaFX带有一个名为Modena的不错的默认主题,以及许多内置的UI控件,如Form controls、TableView、TreeTableView、ListView、Datepicker、WebView等。FXML用于创建JavaFX应用程序的用户界面。我们早些时候阐述了JavaFX与HTML5之间的差异,现在我们将看到用于漂亮应用程序的最佳JavaFX库。JavaFX的伟大之处在于,大多数小部件都支持CSS的自定义样式。
我们将专注于开源JavaFX库,帮助您改进JavaFX应用程序。首先,我们的快速选择是:
JFoenix
BootstrapFX
FontawesomeFX
MigLayout
Medusa
TilesFX
JSilhouette
JideFX
RichTextFX
JFXtras
ControlsFX
Gluon Maps
Orson Charts
Ikonli
TestFX
现在让我们逐个介绍一下上面的JavaFX库。
1. MigLaout
MigLayout是一个非常通用的布局管理器,它使布局问题变得微不足道。MigLayout的布局引擎是用纯Java编写的,不依赖于UI工具包。使用MigLayout创建的用户界面易于维护。通过查看源代码,您将了解布局的外观。您可以快速创建一个漂亮的UI,它可以自动地将元素对齐成行和列。MigLayout可以免费用于商业和非商业项目,它是开源的,代码是免费提供的。您可以从google代码访问Miglayout。
2. JFoenix
jphoenix是JavaFX材质设计库的实现。它带有大量类似于材料设计指南的UI组件和非常多的动画,如滑动菜单,飞进飞出弹出框,日期选择器,颜色选择器等。
3.BootstrapFX
BootstrapFX是另一个出色的外观库,它是JavaFX的Twitter Bootstrap的部分端口。它主要提供了一个与原始样式表非常相似的CSS样式表,同时针对JavaFX独特的CSS风格进行了定制。Twitter Bootstrap提供的不仅仅是通用小部件的标准化外观。它还提供了新的小部件、行为和网格系统。其中一些功能可能会在以后的阶段移植到BootstrapFX。
4. FontawesomeFX
Fontawesome是一个网页图标字体,它提供了许多图像用于元素和美化它们。FontawesomeFX让您访问字体很棒的图标。Web图标是轻量级的,由可伸缩的矢量图像组成,因此非常适合JavaFX。
5. Ikonli
Ikonli还处理图标,并提供对开发者图标、天气图标、字体图标等的访问。它使开发人员能够自定义图标,并提供在圆圈中使用堆叠图标的可能性。
6. Medusa
Medusa是一个JavaFX库,它为Gerrit Grunwald编写的gauge提供小部件。Medusa的主要焦点是提供可以以多种方式配置的仪表。它有非常漂亮的用于报告指标的小部件,如果您正在使用任何报告小部件,您应该考虑使用Medusa。
7. TilesFX
TilesFX也是Gerrit开发的JavaFX小部件库。TilesFX是一个JavaFX库,包含超级有趣的仪表板的贴图。它为所有报告项目(如天气和数据表示)提供了一组平铺小部件。
8. JSilhouette
JSilhouette为Java应用程序提供了额外的形状。默认JavaFX库中的形状是有限的,如果你想使用自定义形状,如星形、箭头、甜甜圈,你可以使用JSilhouette。这是一个方便的自定义形状扩展库。
9. JideFX
JideFX是针对JavaFX平台的各种扩展和实用程序的集合。JideFX公共层相当于Swing的JIDE组件中的JIDE公共层。它提供了小部件,如搜索小部件、工具提示、格式化文本字段、带验证的数字文本字段等。
10. RichTextFX
RichTextFX为JavaFX提供了一个带有API的文本区域。它旨在创建富文本编辑器和代码编辑器。如果你想使用自定义语法高亮显示格式良好的文本,那么RichTextFX库是最好的。
11. JFXtras
JFXtras是一个支持JavaFX的库,包含助手类、扩展布局、控件和其他有趣的小部件,如日历、日期和时间选择器、单击弹出的菜单等。
12. ControlsFX
ControlsFX是JavaFX的一个开源项目,旨在提供真正高质量的UI控件和其他工具,以补充核心JavaFX发行版。目前,您可以找到诸如面包屑栏、不同的按钮栏、CSS输入字段的装饰器、字体等小部件。
13. 胶子地图
Gluon Maps是一个JavaFX地图库,它提供了一个漂亮的地图控制器。它有双重许可,GPL3或双重许可,您可以购买并在非GPL3应用程序中使用它。
14. OrsonCharts
OrsonCharts提供了比标准JavaFX解决方案更好看的各种图表。如果你喜欢图表,那么你应该考虑使用OrsonCharts。
15. TestFX
TestFX旨在测试JavaFX应用程序。它为JavaFX应用程序及其组件提供了简单而清晰的测试。它附带了一个很好的DSL,包含了像点击和拖放这样的UI交互。以下是TestFX自述文件中提供的示例代码。
@Test
public void should_drag_file_into_trashcan() {
// given:
rightClickOn("#desktop").moveTo("New"). clickOn("Text Document");
write("myTextfile.txt").push(ENTER);
// when:
drag(".file").dropTo("#trash-can");
// then:
verifyThat("#desktop", hasChildren(0, ".file"));
}