最近,做一个桌面应用程序的项目,需要考察相关技术,对于经常使用Java的我们来说,很自然的找Java的桌面程序开发技术,发现JavaFX是比较合适的,简单熟悉了一下,写出来给大家做个参考。
一 Java的图形用户界面技术的发展
Java的图形用户界面技术,主要有AWT,Swing,SWT/JFACE。
AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java图形用户界面的基本工具。AWT的缺点是在原生的用户界面上仅提供了一个非常薄的抽象层,AWT不能保证程序在各种平台上表现一致,违背了Java“一次编写,到处运行”的信条。
Java Swing是Java Foundation Classes(JFC)的一部分,相对于AWT,Swing是轻量级元件,缺点是运行速度慢,优点是可以在所有平台上采用统一的行为。Swing也提供了比AWT更为丰富的组件和强大功能,但Swing的灵活性也增加了其复杂性和难以上手,让很多初学者望而却步,所以Swing也没有发展起来。
SWT(Standard Widget Toolkit)/JFace是Java的一种图形API标准,JFace是在SWT的基础上,采用MVC模式进行封装而形成的一个新的类库。SWT Designer的Eclipse插件,可以采用可视化拖拽的方式开发Window图形用户界面。SWT/JFace具有比AWT更为丰富的控件,比Swing跟为快捷的速度。也有缺点,它们不是Java语言标准,某些平台并不支持。
java技术的发展,从AWT,Swing,SWT,JFace到JavaFX,图形用户界面工具包。其中SWT/JFace用的相对较多,AWT,Swing技术较为陈旧,用的比较少,JavaFX没有推广开,用的人也相对较少。
二 javaFX简介
JavaFX是Java下一代图形用户界面工具包。包括一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。JavaFX允许开发人员快速构建丰富的跨平台应用程序。JavaFX通过硬件加速图形支持现代GPU。JavaFX允许开发人员在单个编程接口中组合图形,动画和UI控件。
JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用JavaFX技术创建和管理大型程序变为可能。
三 JavaFX插件安装并配置到eclipse中
1 首先安装e(fx)clipse
打开 Eclipse,点击菜单 Help -> Install New Software。在弹出窗口填写如下内容Name: e(fx)clipse
Location: http://download.eclipse.org/efxclipse/updates-released/2.4.0/site
efxclipse的具体版本根据实际情况填写。
2安装JavaFX Scene Builder
JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码。用户可以将UI组件拖放到工作区,修改其属性,应用样式表,并且它们正在创建的布局的FXML代码将在后台自动生成。它的结果是一个FXML文件,然后可以通过绑定到应用程序的逻辑与Java项目组合。
下载JavaFX Scene Builder很简单,访问以下网址下载即可:
http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html
正常安装后,在eclipse中进行设置。
启动eclipse,并选择:Window -> References
选择左侧的JavaFX,在右侧界面SceneBuilder executable中选择secnebuilder的exe文件路径,确认。
四 javaFX技术
1 形状
为了在JavaFX场景上渲染图形,我们需要基本的形状和颜色。Node类是所有JavaFX场景图形节点的基本基类。它提供了转换和应用效果到任何节点的能力。
javafx.scene.shape.Shape类是Node类的子类。所有较旧的JavaFX 2.x Builder中使用,但在JavaFX 8中这个类已弃用。
JavaFX的形状主要包括JavaFX线条、JavaFX矩形椭圆、JavaFX路径、JavaFX圆弧、JavaFX多边形折线、JavaFX曲线、JavaFX文本等。
2 属性
属性部分包括JavaFX颜色、JavaFX渐变颜色、JavaFX属性、JavaFX绑定、JavaFX集合等。
3 布局
JavaFX有多种布局形式,主要包括JavaFX FlowPane布局、JavaFX HBox布局、JavaFX Vbox布局、JavaFX BorderPane布局、JavaFX GridPane布局、JavaFX ScrollPane布局、JavaFX TitledPane布局、JavaFX Accordion布局等。
4 UI控件
JavaFX的UI控件很多,类似于前端表单中使用的一些控件,主要有按钮、单选按钮、切换按钮、复选框、选择框、文本域(输入框)、密码字段、超链接、进度条、进度指示器、滚动条、日期选择器(DatePicker)、颜色选择器(ColorPicker)、文件选择器(FileChooser)、菜单等。
详细了解,请参考,易百教程:https://www.yiibai.com/javafx/