JavaFX Scene Builder 使用基础(一)

  怎么用Scene Builder 来配合编写一个程序?下面我们就以此来讨论一下。

(一)基础准备工作

  本人使用NetBeans与JavaFX Scene Builder协同编写。

  对于NetBeans我们需要做的是如下步骤:文件-->新建项目-->JavaFX-->JavaFX FXML应用程序,然后单击下一步,如图:

  建立好工程文件后,我们可以看到工程下有三个文件,一个.FXML文件,两个.java文件,如图:

  其中FXMLDocument.fxml为用户界面,我们可以通过JavaFX Scene Builder 进行编写,FXMLDocumentController.java为用户界面的控制器,通过这个文件我们可以通过java代码对fxml文件定义的控件进行控制。(在NetBeans中,如果我们有了fxml文件,可以通过鼠标右击-->生成控制器,来直接生成java的fxml的控制器),而JavaFXApplication11.java可以把界面展示出来。

(二)需要知道的一点知识

  (1)界面显示的关键

    在我们纯java代码中,我们通过将场景放入舞台中,然后显示即可,在我们这里原理也是一样的。在JavaFXApplication11.java中,我们有这样的一行代码:

Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));

  这个是我们的关键,我们通过FXMLLoader.load()方法从资源文件FXMLDocument.fxml中加载层级对象,并赋值到名为root的变量。之后我们在把这个根节点放到场景中,这样我们的用户界面就可以实现出来了。

  (2)界面控制,响应交互的关键

    对于fxml文件,我们可以打开JavaFX Scene Builder 对我们的界面进行设计,同时设置fx:id、触发器、控制器,然后保存在NetBeans的工程中,再到NetBeans中右击fxml文件,重构或者是生成控制器(下面我们会详细讲)

(三)JavaFX Scene Builder 基本介绍

首先,让我们来看看它的基本界面:

  然后,左边可以看到JavaFX控件列表和UI层结构,中间是可视化区域,设计的时候将控件从控件列表中拖动到可视化区域即可,右边是控件的属性,需要注意的属性栏包括Properties(属性)、Layout(布局)、Code(代码)一共三个部分,其中属性主要控制控件自身的大小、对齐方式、CSS样式的添加等,布局主要控制控件在面板上的对齐方式,位置等等的一些属性,而代码部分也是比较关键的一部分,下面我们将具体说明一下。

(四)使用Scene Builder时最关键的一步

  我们通过对界面的设计然后通过上面的知识已经可以把页面显示出来了,但是因为我们利用Scene Builder编写出来的FXML文件最终目的是为了和java代码一起用的,那么java如何来调用FXML文件里的控件呢?这里的关键就是上面提到的Code部分,先看下它长什么样:

  我们通过对控件的fx:id部分进行命名,当我们在NetBeans进行生成控制器时就会生成相应的变量,这样我们就可以在控制器里对界面上的控件进行控制;而在下面的部分即触发器部分,同样我们对它进行命名,生成的触发器中会出现相应的和触发器对应的函数,我们同样可以进行编写相应的操作。

  另外,如图:

  在整个界面的左边我们需要对Controller class进行命名,目的是为fxml文件指定控制器。

  通过上面的介绍相信我们可以基本的对NetBeans和JavaFX Scene Builder 进行操作,并且显示fxml界面和对其进行控制。我们下一节将实践一个具体的例子来示范。

时间: 2024-10-05 04:19:30

JavaFX Scene Builder 使用基础(一)的相关文章

使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序

http://blog.csdn.net/wingfourever/article/details/7726724 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序 2012-07-08 18:25 18641人阅读 评论(11) 收藏 举报  分类: JavaFX(52)  版权声明:本文为博主原创文章,未经博主允许不得转载. 了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现.这样

javafx scene builider 使用总结

1.  一般的开发步骤:首先是在Javafx Scene Builder中设计好界面的布局,将界面中要做的事情做完,包括定义控制器类,定义简单的style,定义事件方法,然后将整个FXML文件和用到的资源文件(图片等)一起复制到Eclipse(安装了Javafx开发插件的版本,详情请看我的Javafx第一篇中所需要的软件)中,最后就是在程序中用FXMLLoader去加载它显示出来,查看效果如何. 2. 一般不要在JavaFX Scene Builder中添加样式!它会在相应的元素element中

javaFX制作helloWorld的几种方式

//起因:因为即便是使用了JavaFX Scene Builder来直接图形化排版,但是仍然对应javaAPI,了解整体结构还是很有必要的,这是有清晰逻辑的基础. environment:{ Spring Tool Suite Version: 3.8.4.RELEASE Build Id: 201703310825 Platform: Eclipse Neon.3 (4.6.3) } way1:File->New->Project->JavaFX->JavaFX Project-

什么是JavaFX

什么是JavaFX JavaFx平台是一个富客户端平台解决方案,它能够使用应用程序开发人员轻松的创建跨平台的富客户端应用程序.它构建在Java技术的基础之上,JavaFX平台提供了一组丰富的图形和媒体API与高性能硬件加速图形和媒体引擎,简化开发数据驱动的企业客户端应用程序. JavaFX有以下优点: 因为JavaFX平台是用Java编写的,Java开发人员可以利用现有的技能和工具来开发JavaFX应用程序. 因为java是广泛使用的,所以很容易找到能轻易将JavaFX应用变成产品的开发人员.

JavaFx学习之道:JavaFx初步了解

因为项目的需要,实在是没有办法了,试了很多种方案(RCP,SWT,Flex,Smartinvoke...),最终还是决定开始研究JavaFx...为了给用户更好地体验我们的"智能家居"! 以下是最近搜索得到的一些资料: 1.Oracle 上 JavaFx的下载页面:http://www.oracle.com/technetwork/java/javafx/overview/index.html 目前最新版本的SDK是2.1 JavaFX 2.1 Developer Preview -

javaFX树结构treeview使用

//---------------------------------------------------在JavaFX Scene Builder里已经加了widget,设置了fx:id 1 @FXML 2 private TreeView<String> tv; 3 @Override 4 public void initialize(URL location, ResourceBundle resources) { 5 // TODO Auto-generated method stub

eclipse开发 javafx(转)

了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现.这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Java与JavaFX的API相互调用更容易 3.JavaFX的程序部署也更简单. e(fx)clipse就是一个eclipse上用来开发JavaFX的插件.不仅如此,在官网上还可以下载包含e(fx)clipse插件的完整版eclipse. 官方网站为:http://www.efxclipse.org/

JavaFx初探

由于项目的须要,实在是没有办法了,试了非常多种方案(RCP,SWT,Flex,Smartinvoke...),终于还是决定開始研究JavaFx...为了给用户更好地体验我们的"智能家居"! 下面是近期搜索得到的一些资料: 1.Oracle 上 JavaFx的下载页面:http://www.oracle.com/technetwork/java/javafx/overview/index.html 眼下最新版本号的SDK是2.1 JavaFX 2.1 Developer Preview

JavaFX 一 出生新手村(阅读小规则)

我就不讲IDE怎么装的,网上有的是,我仅仅是说说我学习过程中遇到的,该注意的东西 1.JavaFX刚開始出是基于脚本script开发的语言,所以网上会有流传比較多关于script的JavaFX,对于被甲骨文大大(Oracle)改版后的JavaFX已经不太有用了,如今都基本靠java代码编程了,所以网上找到的script基本能够无视,由于帮助不大,有兴趣的你能够自己另花时间学习.我比較懒,看都不看的,呵呵 2.关于开发的IDE,眼下用的比較多的有NetBeans和eclipse(须要安装efxcl