JavaFX概览

本文详细介绍了JavaFX,包括其概述、应用程序、可用性、主要特点。通过在Eclipse和CMD环境中逐步演示如何运行JavaFX示例应用程序,讲解了非模块化和模块化项目的创建、配置及运行,涵盖了从JavaFX SDK下载到环境变量配置的全过程。内容适合Java开发者,特别是希望学习JavaFX的初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. JavaFX概述

JavaFX 是一组图形和媒体包,使开发人员能够设计、创建、测试、调试和部署在不同平台上一致运行的富客户端应用程序。

目录

1. JavaFX概述

JavaFX 应用程序

可用性

我可以使用 JavaFX 构建什么?

初试在eclipse中运行JavaFX示例应用程序

初试在CMD中运行JavaFX示例程序

 再次尝试在eclipse中运行JavaFX示例程序

 非模块化项目

为eclipse创建JavaFX用户库

新建JavaFX项目 

 添加JavaFX类

添加虚拟机参数

运行项目

配置eclipse环境变量

初试用Maven构建JavaFX非模块化项目

创建一个Maven项目

验证pom

验证主类

运行项目


2. JavaFX 应用程序

由于 JavaFX 库是作为 Java API 编写的,因此 JavaFX 应用程序代码可以从任何 Java 库中引用 API。例如,JavaFX 应用程序可以使用 Java API 库来访问本机系统功能并连接到基于服务器的中间件应用程序。

可以自定义 JavaFX 应用程序的外观和感觉。级联样式表 (CSS) 将外观和样式与实现分开,以便开发人员可以专注于编码。图形设计人员可以通过 CSS 轻松自定义应用程序的外观和样式。如果您有网页设计背景,或者如果您想将用户界面 (UI) 和后端逻辑分开,那么您可以使用 FXML 脚本语言开发 UI 的表示方面,并为应用程序使用 Java 代码逻辑。如果您更喜欢在不编写代码的情况下设计 UI,那么请使用 JavaFX Scene Builder。在您设计 UI 时,Scene Builder 创建可移植到集成开发环境 (IDE) 的 FXML 标记,以便开发人员可以添加业务逻辑。

3. 可用性

JavaFX API 作为 Java SE 运行时环境 (JRE) 和 Java 开发工具包 (JDK) 的完全集成功能提供。因为 JDK 可用于所有主要桌面平台(Windows、Mac OS X 和 Linux),所以编译到 JDK 7 及更高版本的 JavaFX 应用程序也可以在所有主要桌面平台上运行。JavaFX 8 还提供了对 ARM 平台的支持。适用于 ARM 的 JDK 包括 JavaFX 的基础、图形和控件组件。

跨平台兼容性为 JavaFX 应用程序开发人员和用户提供了一致的运行时体验。

JDK 下载页面上,您可以获得 JavaFX 示例应用程序的 zip 文件。示例应用程序提供了许多代码示例和片段,通过示例展示了如何编写 JavaFX 应用程序。请参阅“如何运行示例应用程序?” 想要查询更多的信息。

4. 主要特点

JavaFX 8 及更高版本中包含以下功能。在 JavaFX 8 版本中引入的项目相应地指出:

  • Java APIs。JavaFX 是一个 Java 库,由用 Java 代码编写的类和接口组成。这些 API 旨在成为 Java 虚拟机 (Java VM) 语言(例如 JRuby 和 Scala)的友好替代品。

  • FXML 和 Scene Builder(场景生成器)。FXML 是一种基于 XML 的声明性标记语言,用于构建 JavaFX 应用程序用户界面。设计人员可以在 FXML 中编码或使用 JavaFX Scene Builder 以交互方式设计图形用户界面 (GUI)。Scene Builder 生成可移植到 IDE 的 FXML 标记,开发人员可以在其中添加业务逻辑。

  • WebView(网络视图)。一个 Web 组件,它使用 WebKitHTML 技术使在 JavaFX 应用程序中嵌入网页成为可能。WebView中运行的JavaScript可以调用Java API,Java API可以调用WebView中运行的JavaScript。JavaFX 8 中添加了对其他 HTML5 功能的支持,包括 Web Sockets、Web Workers 和 Web Fonts,以及打印功能。请参阅向 JavaFX 应用程序添加 HTML 内容

  • Swing interoperability(Swing 互操作性)。现有的 Swing 应用程序可以使用 JavaFX 功能进行更新,例如丰富的图形媒体播放和嵌入的 Web 内容。SwingNode类,使您可以嵌入Swing的内容进JavaFX应用程序,已在JavaFX 8见添加了SwingNode API的javadocJavaFX的应用程序中嵌入的Swing内容以获取更多信息。

  • Built-in controls(内置 UI 控件) 和 CSS。JavaFX 提供了开发全功能应用程序所需的所有主要 UI 控件。可以使用标准 Web 技术(例如 CSS)为组件设置外观。DatePicker 和 TreeTableView UI 控件现在可用于 JavaFX 8 版本。有关更多信息,请参阅使用 JavaFX UI 控件。此外,CSS Styleable* 类已成为公共 API,允许对象通过 CSS 设置样式。

  • Modena theme(摩德纳主题)Modena 主题取代 Caspian 主题成为 JavaFX 8 应用程序的默认主题。通过setUserAgentStylesheet(STYLESHEET_CASPIAN)在 Application start() 方法中添加该行,Caspian 主题仍然可供您使用。有关更多信息,请参阅fxexperience.com 上的Modena 博客

  • 3D Graphics Features(3D 图形功能)。用于Shape3DBox, Cylinder, MeshView, and Sphere子类)SubScene, Material, PickResult, LightBase (AmbientLightPointLight子类)的新 API 类SceneAntialiasing已添加到 JavaFX 8 的 3D 图形库中。Camera此版本中还更新了 API 类。欲了解更多信息,请参阅入门JavaFX的3D图形文件和相应的API的javadocjavafx.scene.shape.Shape3Djavafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResultjavafx.scene.SceneAntialiasing

  • Canvas API(画布 API)。Canvas API 支持直接在 JavaFX 场景区域内进行绘图,该区域由一个图形元素(节点)组成。

  • Printing API(打印 API)。javafx.print包已添加到 Java SE 8 版本中,并为JavaFX 打印 API提供公共类。

  • Rich Text Support(富文本支持)。JavaFX 8 为 JavaFX 带来了增强的文本支持,包括双向文本和复杂文本脚本,例如控件中的泰语和印度语,以及文本节点中的多行、多样式文本。

  • (Multitouch Support)多点触控支持。JavaFX 根据底层平台的功能提供对多点触控操作的支持。

  • Hi-DPI Support(高 DPI 支持)。JavaFX 8 现在支持 Hi-DPI 显示。

  • Hardware-accelerated graphics pipeline(硬件加速的图形管道)。JavaFX 图形基于图形渲染管道(Prism)。JavaFX 提供流畅的图形,当与支持的图形卡或图形处理单元 (GPU) 一起使用时,可以通过 Prism 快速呈现。如果系统不具有 JavaFX 支持的推荐 GPU 之一,则 Prism 默认使用软件渲染堆栈。

  • Higt-performance media engine(高性能媒体引擎)。媒体管道支持 Web 多媒体内容的播放。它提供了一个基于 GStreamer 多媒体框架的稳定、低延迟的媒体框架。

  • Self-contained application deployment model(自包含的应用程序部署 模型)。自包含的应用程序包具有所有应用程序资源以及 Java 和 JavaFX 运行时的私有副本。它们作为本机可安装包分发,并提供与该操作系统本机应用程序相同的安装和启动体验。

5. 我可以使用 JavaFX 构建什么?

使用 JavaFX,您可以构建多种类型的应用程序。通常,它们是跨多个平台部署的网络感知应用程序,并在具有音频、视频、图形和动画的高性能现代用户界面中显示信息。

6. 初试在eclipse中运行JavaFX示例应用程序

本节中的步骤解释了如何下载和运行可通过 Java 平台 单独下载的示例应用程序。

首先要有一个eclipse和JDK,然后,在工具栏的Help->Install New Software

 点击Add,输入以下内容:

Name:ec(fx)lipse

Location:http://download.eclipse.org/efxclipse/updates-released/3.6.0/site/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从零开始的智障生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值