最近,做一个桌面应用程序的项目,需要考察相关技术,对于经常使用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/

JavaFX技术简要总结的更多相关文章

  1. 基于Web的实验室管理系统技术简要报告

    基于Web的实验室管理系统技术简要报告 Copyright 朱向洋 Sunsea ALL Right Reserved 一.网站架构 该网站使用C#语言,利用SQL Server2008数据库,采用V ...

  2. 毕设1--利用Java实现网页的模板功能技术---简要了解

    首先,关于我对自己的毕业设计题目的理解,其中没有接触过的技术有怎么用Java实现将原有的Word的模板上传到网页中,在网页中进行相关操作.之所以把这部分放在一开始来进行了解是因为没有接触过这一方面,比 ...

  3. Smart Client技术简要总结

    摘要:Smart Client简称智能客户端,是Microsoft推出的一种将B/S(瘦客户端)和C/S(胖客户端)结合在一起的一种技术.Smart Client结合了B/S和C/S的优势,具有新的特 ...

  4. 重磅消息:JavaFX官方文档翻译完毕

    经过XMan团队业余时间半年的努力,终于将JavaFX官方文档全部翻译完毕,内容已经全部在http://www.javafxchina.net中发表. 中文文档具体目录如下: 第一篇 开始学习Java ...

  5. JavaFX - 富互联网应用

    JavaFX教程™ --必看https://www.yiibai.com/javafx /================= 富互联网应用 是那些提供与Web应用程序类似的功能,并可作为桌面应用程序体 ...

  6. JavaFX——简单的日记系统

    前言 在学习Swing后,听老师说使用Java写界面还可以使用JavaFX.课后,便去了解.JavaFX是甲骨文公司07年推出的期望应用于桌面开发领域的技术.在了解了这个技术几天后,便使用它完成Jav ...

  7. Web UI 技术发展历程

    本文内容 纯文本和静态 HTML 页面 服务器端技术 插件技术--ActiveX.Applet 和 Flash Ajax 异步时代和基于 JavaScript 的 UI 技术 RIA--Adobe F ...

  8. CPU硬件辅助虚拟化技术

    目前主要有Intel的VT-x和AMD的AMD-V这两种技术.其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest O ...

  9. JavaFX教程

    JavaFX是Java的下一代图形用户界面工具包.JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序. JavaFX允许开发人员快速构建丰富的跨平台应用程序.JavaFX通 ...

随机推荐

  1. 玩转web之ligerui(二)---前缀编码生成树(分级码)实现树型表格

    请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. 背景:             在ligerui中(其他uI可能也大同小异),实现树形表格可以通过父子节点,也可以通过前缀编码生成树去实现,而使 ...

  2. css布局-双飞翼布局

    <div class="header">Header</div> <div class="bd"> <div clas ...

  3. 关于MySQL的1064错误

    MySQL的1064错误是SQL语句写的有问题时出现的,即SQL的语法错误.笔者常常使用MySQL-python这个库来对MySQL进行操作,代码中报这个错误的一般是cursor.execute(sq ...

  4. BinaryOperator<T>接口的用法示例+BiFunction

    转自http://www.tpyyes.com/a/java/2017/1015/285.html 转自https://blog.csdn.net/u014331288/article/details ...

  5. 【BZOJ 2713】[Violet 2]愚蠢的副官&&【BZOJ1183】[Croatian2008]Umnozak——【数位DP】

    题目链接: 2713传送门 1183传送! 题解: 由于看不懂英文题解(十个单词十一个不认识……),所以只能自己想QAQ. 其实乱搞就好= =. 首先我们发现,各位数字乘积要在1e9以下才可能有用,这 ...

  6. BZOJ_3129_[Sdoi2013]方程_组合数学+容斥原理

    BZOJ_3129_[Sdoi2013]方程_组合数学+容斥原理 Description 给定方程     X1+X2+. +Xn=M 我们对第l..N1个变量进行一些限制: Xl < = A ...

  7. BZOJ_3772_精神污染_主席树

    BZOJ_3772_精神污染_主席树 Description 兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大 ...

  8. Uiautomator分类

    分类中主要使用的类介绍!

  9. maven创建web报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-compiler-plugin:3.5.1:runtime Cause: error in opening zip file

    Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:m ...

  10. js操作中要去注意的一些问题

    1.js中注意问题 font-size 改成fontSize padding-top 改成paddingTop js中不认识-,所以要以小驼峰方式操作属性或者以[" "]方式,例[ ...