JavaFx教程-01初识javaFX

什么是JavaFX

JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者用来设计、创建、测试、调试和部署富客户端程序,和Java一样跨平台。

JavaFX特点

官方对于JavaFX的解释如下:
JavaFX Overview
JAVAFX概览
我个人主要觉得有一下几点:

  1. JavaFX是一个Java库,包括用Java写成的类和接口。所以使用JavaFX写的程序可以跨平台运行。而且现在大量成熟的Java库都可以为JavaFX所使用。
  2. 内置大量UI控件和CSS支持。层级样式表(CSS)将外观和样式与业务逻辑实现进行了分离。图形设计师可以使用FXML语言(一种XML语言)来表述图形界面,使用CSS来定制程序的外观和样式。程序员可以使用Java代码来表述业务逻辑。
  3. 内置Canvas API以及特效,动画等可以让你制作出类似Flash的程序。
  4. 本身提供对三维图形的支持,而且支持硬件加速。
  5. 还有就是类似WPF的属性绑定。
  6. 此外,JavaFX中还可以放置Java Swing组件,支持WebView即使用HTML编写的页面。
    当然还有很多,这里我只说了我了解到的一些特性。具体可参看上面给出的官方链接中的描述。(以上来自https://blog.csdn.net/theonegis/article/details/50086563)

JavaFX发展历程

2008年12月05日 Sun微系统公司今天正式发布了基于Java语言的平台JavaFX 1.0。因为当时富互联网应用(RIA,Rich Internet Application)正火,具有代表性的有:Adobe公司的Flex,微软的Silverlight和Oracle的JavaFX,还有HTML5+CSS3+JavaScript组合。感觉当时Oracle推出JavaFX主要是为了和Adobe的Flex和微软的Silverlight竞争。当然,随着HTML5的盛行,在RIA开发上这三者都慢慢地退出了历史舞台。HTML+CSS+JS有了一统天下的趋势。所以后来,Flex捐赠给了Apache,成为旗下的一个开源项目,Silverlight停止了更新。其实,个人挺喜欢Silverlight技术的。JavaFX 1.0的时候开发者需使用一种名为JavaFX Script的静态的、声明式的编程语言来开发JavaFX应用程序。因为JavaFX Script将会被编译为Java字节码,程序员可以使用Java代码代替。

JavaFX不用于开发RIA了,但是JavaFX还可以用来开发桌面程序以及移动设备上的程序。但是貌似开发移动应用,各个平台都有自己的SDK,比如开发Android和ISO应用都会使用原生地API,应该很少有人会使用像JavaFX或者QT这种第三方的技术吧(个人见解)!所以,JavaFX剩下的能使用的地方就是桌面应用程序了!

JavaFX 2.0之后的版本摒弃了JavaFX Script语言,而作为一个Java API来使用。因此使用JavaFX平台实现的应用程序将直接通过标准Java代码来实现。而且从JDK 7u6 开始,JavaFX被内置到Java SE中,原来如果要开发JavaFX程序,需要单独下载JavaFX的SDK,但是现在不需要了。

从Java8开始,JavaFX的版本也更新为JavaFX8。现在的JavaFX主要由原来Java Swing工作组进行维护,由于JavaFX的种种优点,在Java桌面开发方面JavaFX会慢慢取代原来的Java Swing。我觉得现在的JavaFX和微软的WPF比较像,JavaFX现在的竞争对手应该是用于桌面开发WPF。WPF是一门很赞的技术,自定义控件可以将程序打造得很惊艳。Windows7中的Windows Media Center就是使用WPF技术开发的。而且WPF已经推出多年,较JavaFX更加成熟。但是JavaFX有跨平台的优势!
不过话说回来,以后桌面开发肯定会越来越少,更多的是移动App开发和Web程序开发。但是,在可预见的未来,桌面开发肯定不会消亡。(以上来自https://blog.csdn.net/theonegis/article/details/50086563)

需要补充的是, 在Java11以前,JavaFX的相关库是包含在JDK中,而在Java11(包括Java11)以后的JDK中,JavaFX的相关开发库已经从JDK中移除,并且交由Openjdk社区进行维护。也就是说,在Java11(包括Java11)以后的开发环境中,如果你需要利用JavaFX进行开发,除了安装JDK以外,还需要从Openjdk社区下载相关的依赖包进行开发。

需要说明的是,本系列教程以Java8为基本环境展开。在教程中,也会提及如何使用(包括Java11)以后的JDK进行JavaFX的开发。

本系列教程的基本安排

1. 第一个javaFX程序
2. 属性以及绑定(Properties and Bindings)
3. 可观察集合(Observable Collections)
4. Stage的相关操作
5. Scenes的使用
6. 理解节点Nodes
7. 玩转Colors
8. Nodes的装饰
9. 事件监听
10. 布局管理
11. Model-View-Controller模式
12. Controls
13. TableView
14. TreeView
15. TreeTableView
16. WebView
17. 2D Shapes
18. Text Nodes
19. 3D Shapes
20. 各类装饰效果( Effects)
21. Transformations
22. 动画
23. 图表(Charts)
24. Image API
25. Canvas
26. 拖拽(Drag and Drop)
27. 并发
28. 音频与视频
29. FXML
30. PrintAPI

以上只是大体安排,在教程过程中会穿插一些实例。
最关键的难题在于自己有没有勇气更新下去。下面是自己的公众号,有什么问题可以一起讨论!

JavaFx教程-01初识javaFX_第1张图片

你可能感兴趣的:(JavaFX)