什么是JavaFX
什么是 JavaFX ?
JavaFX 包含了一些列图形和媒体包,允许程序员设计、创建、测试、调试、和部署富客户端应用并且保持跨平台的操作一致性。
JavaFX 应用程序
JavaFX 应用程序由 Java API 编写,可以调用任何 Java API 包。例如,可以调用 Java API 访问本地操作系统,并且与服务器进行连接。
JavaFX 的外观可以自定义。层叠样式表(CSS)将应用的外观与功能分离,让程序员可以更专注于编码。美工可以简单地通过 CSS 来自定义应用程序的外观。
如果你有 Web 设计的背景,或者你想将 UI 和后台逻辑分离,那么你还可以将 UI 放入到 FXML 标记语言中,用 Java
编写业务逻辑。如果你只想编码,那么可以将编写 UI 的工作交给 JavaFX Scene Builder。在支持 JavaFX
的集成开发环境(IDE)中,可以使用 JavaFX Scene Builder 来编写 FXML 标记语言。
可用性
从 JavaFX 2.2 以后,JavaFX 已经集成在 JRE 7 和 JDK 7 以及以后的 Java 版本中了。因为 JDK
可以很好地运行在主流桌面系统上(Windows, Mac OS X, and Linux),因此 JavaFX
也可以运行在这些主流的桌面系统上。跨平台兼容性,可以让 JavaFX 的开发者和用户得到一致的体验。
在 JDK 的下载页面,可以获取 JavaFX 例子的 Zip 包。这些例子应用程序提供了很多代码来演示如何使用 JavaFX。
主要特性
JavaFX 2.2 和之后的版本都包含以下主要特性:
Java API
JavaFX 是一个 Java 包,由 Java 类和 Java 接口等原始的 Java 代码编写而成。这些 API 在设计上可以很友好的替代为 Java VM 语言,例如 JRuby 或 Scala。
FXML and Scene Builder
FXML 是基于 XML 的标记语言,用来创建 JavaFX UI。设计者可以直接编写 FXML 或者使用 IDE 的 Scence Builder 来编写 FXML。
WebView
Web 组件可以使用 WebKitHTML 技术将 Web 页面嵌入到 JavaFX 应用程序中。在 WebView 中运行的
JavaScript 可以调用 Java API,并且 Java API 也可以调用 WebView 中运行的 JavaScript。
Swing 集成
旧有的 Swing 应用程序可以更行 JavaFX 的新特性,比如丰富的图形媒体播放功能和嵌入 Web 页面的功能。
丰富的自有控件和CSS
JavaFX 提供了桌面应用程序需要用到的主要控件。并且控件的外观可以使用标准的 Web CSS 来进行控制。
画布(Canvas)API
Canvas API 允许在可以包含一个作图元素的 JavaFX scene 直接绘制图形。
支持多点触控
基于平台的底层能力,JavaFX 支持多点触控功能。
硬件加速的图形通道
JavaFX 图形渲染基于 Prism。如果使用了支持 Prism 的显卡或 GPU,JavaFX 可以很快的进行平滑渲染。如果系统不支持 Prism,那么默认值将会变为 Java 2D。
高性能的媒体引擎
媒体通道支持 Web 多媒体内容的播放,基于 GStreamer 媒体框架,提供了稳定的、低延迟的媒体播放框架。
自包含的应用程序部署模式
自包含的应用程序,可以包含所有的应用程序资源、Java 运行时以及 JavaFX 运行时。应用程序发布后,可以在操作系统本地安装,获得操作系统一致的安装和加载体验。
JavaFX的2.0是在Java作为一个富客户端平台的演进的下一步。 它的目的是为企业和商业应用提供一个轻量级的,硬件加速Java UI平台。
功能亮点:
为JavaFX的Java API
新的硬件加速图形管道
FXML一个新的基于XML定义的用户界面的标记语言
超过50的用户界面控制和图表CSS3的造型
在Java应用程序的Web组件来呈现HTML和JavaScript内容
秋千/ JavaFX的无缝集成到Swing应用程序的互操作性
新媒体的稳定,一致的媒体播放引擎
对于一个功能更完整的清单,看看功能概览
在2007JavaOne会议上,Sun负责软件业务的执行副总裁格林公布了JavaFX Script:一种用于编写能够在支持Java的PC和手机上运行的应用软件的更简单的脚本语言。为了解决手机的兼容性问题JavaFX Mobile是一种面向手机厂商、提高Java应用软件在不同手机间兼容性的软件包。
Java包含了一种计算机编程语言和一个平台。
*Java编程语言是一种高级语言。由Sun微系统公司(Sun Macrosystem)发布,并作为一种开放的标准进行提供。
*Java平台包括了Java虚拟机和Java应用程序接口(API)。
Java将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。因此,Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。
Java的主要应用有如下几点:
*利用浏览器中的Java虚拟机运行于客户端的Applet。
*利用本地虚拟机运行的Java应用程序,通常利用Swing或SWT等来编写跨平台的GUI界面系统。
*通过编写Servlet/JSP来提供网络服务,运行于网络应用程序服务器中。
*利用嵌入式Java虚拟机运行于手机等移动设备的Java应用程序,使用J2ME API。
Java的产生
Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。
Java的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。
Java平台根据API和使用领域,主要分为三种技术
*Java SE (旧称J2SE) - Java Platform, Standard Edition, 定位在客户端,主要用于桌面应用软件的编程
*Java EE (旧称J2EE) - Java Platform, Enterprise Edition, 定义在服务器端Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统
*Java ME (旧称J2ME) - Java Platform, Micro Edition, 主要应用于嵌入式系统开发,如手机和PDA的编程
Java的特色
Java从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java是
*是一种软件技术
*是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
*是一种为 Internet发展的计算机语言
*是一种使网页(Web Page)产生生动活泼画面的语言
*是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
*是一种语言,用以产生「小应用程序(Applet(s))」
*是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
*是一种将安全性(Security)列为第一优先考虑的语言
*是一种使用者不需花费很多时间学习的语言
*是一种突破用户端机器环境和CPU结构的语言
*是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来,第一套允 使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的
JavaFX Script编程语言(以下称为JavaFX)有Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。如Open JavaFX(OpenJFX)网站所述,JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。
这一系列的JavaFX入门文章包括三部分。第一部分是JavaFX编程语言的介绍,目标读者是那些熟悉Java技术并且具有脚本语言基础的开发者。第二和第三部分演示如何使用JavaFX连接使用Remote Method Invocation(RMI)和Java API for XML Web Services(JAX-WS)技术的远程服务器
各位大侠, 我想问一下, JMF和JavaFX2.0的区别是什么, 分别有什么作用...
JMF是java的媒体框架,处理多媒体应用。FX是一种脚本语言,设计初衷是解决swing的界面编写复杂问题。
javafx下载安装后怎么和eclipse进行连接
从Java 8开始,JavaFX已 经与JDK绑定到一起,但Java11之后,JavaFX与JDK分开发布。下载jdk对应的JavaFX安装包 下载之后解压在文件夹中,切记一定要赋值文件路径 请点击输入图片描述 打开eclipse,点击window->Preferences 请点击输入图片描述 请点击输入图片描述 创建一个类,完成后 请点击输入图片描述 --...
javafx是电脑自带吗 怎么我的电脑有这个
不自带,是你安装了什么程序自带的JAVA程序包附带安装,可以禁止启动。
javafx音频频谱数据怎么绑定动画
javafx音频频谱数据绑定动画的方法:添加import static java.lang.Math.random,到import语句列表中,就可以绑定动画了。动画由时间轴驱动,因此此代码创建时间轴,然后使用for循环向30个圆中的每一个添加两个关键帧。0秒处的第一个关键帧使用属性translateXProperty并translateYProperty在窗口内设置圆圈的随机...
javafx怎么移动图片,就是把一个图片放进去,你按左方向键就往左移动...
主要思路:JavaFX 显示图片,常用的是ImageView JavaFX 响应 左右按钮, 那么可以用Scene 来接收键盘按下的事件,然后控制图片左右移动 显示的效果图 参考代码 import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.image.ImageView;import javafx.scene.input.KeyCode;import javafx....
javafx中怎么控制风扇
JavaFX有丰富的动画, 所以完成起来比较简单.首先: 风扇的绘制.1.使用三次曲线,可以绘制两片扇叶, 使用2个三次曲线, 垂直相交, 就可以画成风扇的扇叶了 其次: 风扇的运动,1: 风扇打开, 可以使用 顺序过渡动画, 先让扇叶 先慢后快的旋转, 然后匀速旋转 2: 风扇关闭, 可以先关闭顺序过渡的动画,...
JavaFX+scenebuilder2.0怎么连接数据库实现登录?
背景知识: 早期的JDK版本没有javaFX ,JDK11又把JavaFX移除,并进行了开源,现在叫OpenJFX ; Scene Builder2.0太久没有更新, 不推荐使用,现在一般使用Gluon的Scene Builder;javaFX开发前的准备 JDK8版本: jdk8+ gluon Scene Builder8.5.0 JDK11版本: jdk11 + openjfx-11.0.2 + gluon Scene Builder...
Javafx计算器的问题,我想知道那个显示框是用什么方法,我用textfield的...
这是个JavaFX的布局问题 ,GridPane 是非常灵活的布局. 我觉得比较好用, 问题主要出在有的文本框要跨3列,也就是从0列开始,一直跨3列,TextField tf = new TextField();gridPane.add(tf,0,0,3,1);\/\/跨三列,跨一行方法说明 public void add(Node child, int columnIndex, int rowIndex...
javafx怎么实现页面的跳转
public class Check { public static boolean checkreturn(String account,String password){ boolean checkbool = false;if("account".equals(account)&&"password".equals(password)){ checkbool = true;} return checkbool;} } import java.net.URL;import java.util.ResourceBundle;import javafx....
javaFX怎么把两个不同的pane加到一个scene中
这种要并排放置的情况就把一个HBox对象设为Scene的root,然后再把两个panel放到HBox上即可。由于你只是要界面,计算器的计算逻辑我就不实现了,具体代码如下(运行环境:jdk8或以上):import javafx.application.Application;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control...
微永固本: Sun公司(已于2009年被Oracle公司收购)在2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语 言开发富互联网应用程序(RIA).JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative,...
绥芬河市13645311694: javaFX到底是什么?能做什么?前景如何? - ?
微永固本: 感觉JavaFX跟FlasCC差不多类型,因为现在企业级项目,很多都要做富客户端开发,也就是前端技术用Flash来做很炫的效果,这样子,就免不了用到AS的框架以及一些技术,可是程序猿不可能花很多时间去再弄一个前端客户端的项目,而且坦白说,- -,咱们搞程序的,美感都不咋地,而富客户端也需要很好的美术,所以为了加快开发的速度,专门提供出来快速开发好看的客户端界面用的语言.至于前景如何,富客户端技术是挺热的,不过具体用啥,还是看学的是什么语言,个人觉得这个JavaFX主要还是给Java程序猿使用的,- -.
绥芬河市13645311694: javafx 2.0 sdk 是什么 - ?
微永固本: JavaFX初识- Web前端 JavaFX Preview SDK 是JavaFX platform的体验版本.这一版本是定位于web脚本开发人员和那些想事先体验JavaFX技术和工具的家伙.这一SDK同样包含"Nile Project",这是一套工具和插件,能让脚本开发人员用拖放的方式建立图形化的东西.
绥芬河市13645311694: javafx中文API - ?
微永固本: http://gceclub.sun.com.cn/Java_Docs/jdk6/JDK_API_1_6_zh_CN.CHM
绥芬河市13645311694: 什么是JavaFX授权模式呢? ?
微永固本: JavaFX授权模式编辑JavaFX的开发者很赞同让用户发布自己的应用,并坚信开源和社区的力量
绥芬河市13645311694: JavaFX的来源是什么? ?
微永固本: 当前的JavaFX包括JavaFX脚本和JavaFXMobile(一种运营于行动装置的操作系统),今后JavaFX将包括更多的产品
绥芬河市13645311694: Java JDK 这几个JDK有什么区别? - ?
微永固本: 第一种是 Java的标准版;第二种 JavaFX Script 编程语言(简称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言;第三种 NetBeans是一个全功能的开放源码Java IDE;第四种 Java EE 是Java的企业版
绥芬河市13645311694: 有人对JavaFX技术有了解吗 - ?
微永固本: javafx本质论 针对旧版的1.x, 已经被oracle宣布生命终结淘汰1.x独立在Java SE之外,用一种类似js的FXscript语言.为的是模仿flash 现在2.x版完全改进,废弃了FxScript,开发转用java语言.更重要的是javafx将用于逐渐取代swing和swt作为主要界面框架.可以说相当于windows的.net的WPF用于取代winforms
绥芬河市13645311694: 如何使用JavaFX播放本地音乐 - ?
微永固本: 什么是 JavaFX ? JavaFX 包含了一些列图形和媒体包,允许程序员设计、创建、测试、调试、和部署富客户端应用并且保持跨平台的操作一致性. JavaFX 应用程序 JavaFX 应用程序由 Java API 编写,可以调用任何 Java API 包.例如,可以调用