- JavaFX Tutorial
- JavaFX - Home
- JavaFX - Overview
- JavaFX - Environment
- JavaFX - Architecture
- JavaFX - Application
- JavaFX - 2D Shapes
- JavaFX - Text
- JavaFX - Effects
- JavaFX - Transformations
- JavaFX - Animations
- JavaFX - Colors
- JavaFX - Images
- JavaFX - 3D Shapes
- JavaFX - Event Handling
- JavaFX - UI Controls
- JavaFX - Charts
- JavaFX - Layout Panes
- JavaFX - CSS
- JavaFX Useful Resources
- JavaFX - Quick Guide
- JavaFX - Useful Resources
- JavaFX - Discussion
JavaFX - 架构
JavaFX 提供了完整的 API 以及丰富的类和接口,用于构建具有丰富图形的 GUI 应用程序。该 API 的重要包是 -
javafx.animation - 包含向 JavaFX 节点添加基于过渡的动画(例如填充、淡入淡出、旋转、缩放和平移)的类。
javafx.application - 包含一组负责 JavaFX 应用程序生命周期的类。
javafx.css - 包含向 JavaFX GUI 应用程序添加类似 CSS 样式的类。
javafx.event - 包含用于传递和处理 JavaFX 事件的类和接口。
javafx.geometry - 包含定义 2D 对象并对它们执行操作的类。
javafx.stage - 该包包含 JavaFX 应用程序的顶级容器类。
javafx.scene - 该包提供了支持场景图的类和接口。此外,它还提供了canvas、chart、control、effect、image、input、layout、media、paint、shape、text、transform、web等子包。支持JavaFX这种丰富API的组件有好几个。
下图显示了 JavaFX API 的架构。在这里您可以看到支持JavaFX API的组件。
场景图
在 JavaFX 中,GUI 应用程序是使用场景图进行编码的。场景图是构建 GUI 应用程序的起点。它包含称为节点的 (GUI) 应用程序原语。
节点是一个视觉/图形对象,它可能包括 -
几何(图形)对象- (2D 和 3D),例如圆形、矩形、多边形等。
UI 控件- 例如按钮、复选框、选择框、文本区域等。
容器- (布局窗格),例如边框窗格、网格窗格、流程窗格等。
媒体元素- 例如音频、视频和图像对象。
一般来说,节点的集合构成场景图。所有这些节点都按层次顺序排列,如下所示。
场景图中的每个节点都有一个父节点,不包含任何父节点的节点称为根节点。
同理,每个节点都有一个或多个子节点,没有子节点的节点称为叶节点;具有子节点的节点称为分支节点。
节点实例只能添加到场景图中一次。场景图的节点可以具有效果、不透明度、变换、事件处理程序、事件处理程序、应用程序特定状态。
棱镜
Prism 是一种高性能硬件加速图形管道,用于在 JavaFX 中渲染图形。它可以渲染 2D 和 3D 图形。
为了渲染图形,棱镜使用 -
- Windows XP 和 Vista 上的 DirectX 9。
- Windows 7 上的 DirectX 11。
- Mac 和 Linux 上的 OpenGL,嵌入式系统。
如果系统上对图形的硬件支持不足,则 Prism 使用软件渲染路径来处理图形。
当与受支持的显卡或 GPU 一起使用时,它可以提供更流畅的图形。万一系统不支持显卡,Prism 默认使用软件渲染堆栈(以上两者之一)。
GWT(玻璃窗口工具包)
顾名思义,GWT 提供管理 Windows、计时器、表面和事件队列的服务。GWT 将 JavaFX 平台连接到本机操作系统。
量子工具包
它是 Prism、Glass、Media Engine 和 Web Engine 低级组件的抽象。它将 Prism 和 GWT 连接在一起,并使它们可供 JavaFX 使用。
网页视图
使用 JavaFX,您还可以将 HTML 内容嵌入到场景图中。WebView 是 JavaFX 的组件,用于处理此内容。它使用一种称为Web Kit的技术,这是一种内部开源 Web 浏览器引擎。该组件支持不同的 Web 技术,如 HTML5、CSS、JavaScript、DOM 和 SVG。
使用 WebView,您可以 -
- 从本地或远程 URL 呈现 HTML 内容。
- 支持历史记录并提供后退和前进导航。
- 重新加载内容。
- 将效果应用到 Web 组件。
- 编辑 HTML 内容。
- 执行 JavaScript 命令。
- 处理事件。
一般来说,使用WebView,您可以通过Java 控制Web 内容。
媒体引擎
JavaFX媒体引擎基于称为Streamer 的开源引擎。该媒体引擎支持视频和音频内容的播放。
JavaFX 媒体引擎为以下文件格式的音频提供支持 -
声音的 |
|
---|---|
视频 |
|
javafx.scene.media包包含在 JavaFX 中提供媒体功能的类和接口。它以三个组件的形式提供,它们是 -
媒体对象- 这代表一个媒体文件
媒体播放器- 播放媒体内容。
媒体视图- 显示媒体。