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

    今日目标: 1:今天的学习内容是在工作完成的情况下,学习Less(之所以学习Less是因为项目中使用的是Less)-------------当前进度(0%) 注意项: 务必确保在 less.js 之前 ...

  2. Nginx多虚拟主机下泛域名配置

    http://www.tuicool.com/articles/F3Azuq 近上一个应用,让用户可以自定义二级域名,所以要配置一个泛域名来解析用户的自定义域名.  首先来说说nginx下的泛域名配置 ...

  3. Spring Data Jpa 实现分页(Spring MVC+easyui)

    spring data jpa很好的对dao层进行了封装,这篇文章主要来写的是实现easyui datagird数据分页,由于各个UI参数不大一样,所以如果使用的是其他UI,得稍作修改.需要说明的是我 ...

  4. SwipeListView 详解 实现微信,QQ等滑动删除效果

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/28508769 今天看别人项目,看到别人使用了SwipeListView,Goog ...

  5. 9.app后端选择什么服务器

    对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC, 租用服务器租用机柜,还是选择现在很火的云服务器呢?在本文中,通过对比传统的IDC和云服务,简单阐述一下服务器的选择. ...

  6. 基于Nginx和Zookeeper实现Dubbo的分布式服务

    一.前言 公司的项目基于阿里的Dubbo 微服务框架开发.为了符合相关监管部门的安全要求,公司购买了华东1.华东2两套异地服务器,一套是业务服务器,一套是灾备服务器.准备在这两套服务器上实现 Dubb ...

  7. django(权限、认证)系统——用户Login,Logout

    上面两篇文章,讲述的Django的Authentication系统的核心模型对象User API和相关的使用,本文继续深入,讨论如何在Web中使用Authentication系统. 前面说了,Djan ...

  8. Git详解及github与gitlab使用

    第一章 关于版本控制 第二章 GIT简介 第三章 GIT安装 第四章 初次运行GIT前配置 第五章 初始化仓库 第六章 GIT命令操作 第七章 GIT分支结构

  9. .NET高性能编程 - C#如何安全、高效地玩转任何种类的内存之Span的本质(一)。

    前言 作为.net程序员,使用过指针,写过不安全代码吗? 为什么要使用指针,什么时候需要使用它,以及如何安全.高效地使用它? 如果能很好地回答这几个问题,那么就能很好地理解今天了主题了.C#构建了一个 ...

  10. C#相等性 - “==”

    今天写一下C#里的“==”这个操作符. 原始类型 假象 在刚学C#的时候,我以为C#里的==和.NET里的object.Equals()方法是一样的,就是一个语法糖而已.其实它们的底层机制是不一样的, ...