什么是JavaFX,FXML和Scene Builder?

What are JavaFX, FXML and Scene Builder?

我是JavaFX的新手,正在尝试在其中做一个项目。 在一些教程中,他们提到了FXML。 两者有什么区别?

我正在使用NetBeans IDE来开发我的项目,并在使用FXML时听说过使用Scene Builder。 场景生成器到底是什么? 是否应该使用JavaFX,FXML和Scene Builder顺利开发项目?

请用简单的语言回答以上问题。 如果可能,请提供一些有关如何使用JavaFX的良好教程。


将JavaFX视为一堆软件包,可以使它们创建丰富的Internet和桌面应用程序。
如果您知道Swing或AWT,那么您就会知道它们用于创建GUI应用程序。 JavaFX还允许您创建GUI应用程序,但只需较少的编程,就可以使用更多的视觉效果。

FXML是JavaFX用于创建屏幕布局的文件格式,尽管您甚至可以直接编写用户界面代码。尽管使用SceneBuilder创建FXML文件更加容易。

SceneBuilder是一个应用程序,您可以在其中拖放JavaFX UI组件,然后告诉JavaFX程序使用fxml文件显示用户界面。

这是一个不错的教程:学习JavaFX
您可以从以下链接中查看基于JavaOne 2013 JavaFX的视频:JavaOne 2013上的JavaFX。

强烈建议您使用JavaFX上的Oracle官方教程。这些教程涵盖FXML,SceneBuilder,CSS和许多其他主题。在使用NetBeans时,使用Oracle教程应该很简单,因为它们都随NetBeans项目一起提供(只需在每个教程页面右侧的列中找到项目zip文件)。

我建议您下载JDK 8并使用JavaFX 8,并在JavaFX应用程序中使用Java 8的新功能,例如Lambda Expressions等,以使代码紧凑,简洁。


如果您以前听说过/使用过Swing,请考虑将JavaFX作为其更酷,更易于使用的替代品和替代品(JavaFX将取代Swing成为Java的台式机和Internet应用程序的主要平台,尽管两者都会继续存在。在可预见的将来得到支持)。

FXML只不过是:

a XML-based user interface markup language created by Oracle Corporation for defining the user interface of a JavaFX application

您可以直接通过代码或在带有.fxml后缀的fxml文件中创建用户界面。例如my_ui.fxml

JavaFX应用程序开发中最重要的工具之一是JavaFX Scene Builder(下面的快照),它使您可以轻松地拖放控件(窗口小部件)以在几分钟内创建UI:

enter image description here

当您将项目拖动到布局中时,会自动生成此布局的代码(在your_layout.fxml文件中)。

看看JavaFX上的这些很棒的教程:

JavaFX入门

JavaFX:Java编程的下一代