这篇文章是作者学习JavaFX的记录,个人喜欢使用图形界面小工具,有不足之处,欢迎JavaFX高手指出。

作为一名从业多年的Java开发人员,在工作当中总是会遇到一些重复的劳动,比如:调试接口、编写接口文档等等。相信大部分“懒惰”的开发人员都会编写小程序来处理这些重复的劳动以提高工作效率。

早些年作者利用Java Swing写过一些图形界面小工具。有为美化Swingl界面去找过皮肤的同学可能知道substance这个皮肤包很不错,使用方便而且可用的皮肤很多。作者之前开发的增量打包、http接口调试小工具用的就是substance这款皮肤。这个小工具源码已经上传到github上了,有兴趣的同学可以在头条app上我的主页底部点击github菜单前往查看。

JavaFX是Oracle公司推出的轻型、可硬件加速的Java UI平台,是Java富客户端平台发展的新趋势。JavaFX可以很好的将开发与设计分开,使得开发人员更专注于业务逻辑及功能开发,设计人员更专注于UI的美化及用户体验的提升。

学习JavaFX 所用到的工具是Netbeans 8.2及JavaFX Scene builder 2.0,所需开发环境建议JDK8+。这些都在Oracle官方可以下载到,这里不多说。今天要介绍的是一个入门的Demo程序,通过Netbeans新建项目及JavaFX Scene Builder构建UI界面。搭建好环境并安装好开发工具之后,打开Netbeans新建项目,选择类别为JavaFX,项目为JavaFX应用程序,点击下一步,如下图所示:

选择JavaFX应用程序

填写项目名称并勾选创建应用程序类

项目建立完成之后,再新建一个demo.fxml布局文件,同时指定控制器类DemoController及级联样式文件demo.css。具体操作如下图所示:

新建demo.fxml

指定demo.fxml界面控制器

指定级联样式文件

新建完成之后项目结构如下图所示:

建立好的项目结构图

前面已经安装好了JavaFX Scene Builder,所以双击fxml文件时Netbeans会自动调用JavaFX Scene Builder打开demo.fxml进行场景编辑。在场景编辑器中左侧Library为JavaFX组件区,该区域组件有容器、控件、菜单等,根据需要从该区域选择控件拖放到场景中。有过UI开发经验的同学应该都知道容器、组件、布局这些概念,有不了解这些概念的同学请自行查找相关资料,这里不再说明。示例中将菜单组件拖放到场景中,并设置好布局位置左、上、右分别为零。设置布局在场景编辑器右侧,默认展开的是 Properties属性设置界面,在Properties底部点击Layout展开布局设置界面,设置完成如下图所示,按Ctrl+S保存场景:

添加菜单控件并设置好布局

保存好布局之后回到Netbeans中修改JavaFXDemo.java文件strart方法。修改之后如下:

public void start(Stage stage) {

try {

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/resource;));

Parent root = ();

Scene scene = new Scene(root);

(scene);

("JavaFX Demo");

();

} catch (IOException ex) {

Logger.getLogger()).log, null, ex);

}

}

切换项目到文件视图,找到build.xml并右键点击,在弹出菜单中选择运行目标、compile编译项目。如下图所示:

编译写好的项目

编译完成之后在JavaFXDemo.java编辑窗口中右键点击,选择运行文件,另一种运行方式是在上图右键菜单中选择jfx-project-run。操作及运行效果如下图所示:

图左边是运行JavaFX操作,右边为运行效果图

到此最简单的JavaFX示例程序就编写完成了,后续更多控件的使用,交互事件的处理等内容将慢慢跟大家分享。有兴趣一起学习的同学可以持续关注本头条号。

注:作者之前分享的dubbo调试工具,一键生成api接口文档工具就是JavaFX编写的。

1.《如何在java中添加菜单,java中如何添加注释,java如何添加按钮》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何在java中添加菜单,java中如何添加注释,java如何添加按钮》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3209873.html