开发手册 欢迎您!
软件开发者资料库

JavaFX - 架构

JavaFX架构 - 从基本到高级概念的简单简单步骤学习JavaFX,其中包括概述,环境,架构,应用程序,2D形状,文本,效果,转换,动画,颜色,图像,3D形状,事件处理,UI控件,图表,布局窗格,CSS。

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 : 该包提供了支持场景图的类和接口.此外,它还提供了子包,如画布,图表,控件,效果,图像,输入,布局,媒体,绘画,形状,文本,转换,Web等.有几个组件支持JavaFX丰富的API .

下图显示了JavaFX API的体系结构.在这里,您可以看到支持JavaFX API的组件.

JavaFX API架构

场景图

在JavaFX中,GUI应用程序使用场景图编码.场景图是构建GUI应用程序的起点.它保存了(GUI)应用程序基元,称为节点.

节点是一个可视/图形对象,它可能包括 :

  • 几何(图形)对象 :  (2D和3D),如圆形,矩形,多边形等.

  • UI控件 : 例如按钮,复选框,选择框,文本区等.

  • 容器 :  (布局窗格),例如边框窗格,网格窗格,流窗格等.

  • 媒体元素 : 例如音频,视频和图像对象.

通常,节点集合会生成场景图.所有这些节点按层次顺序排列,如下所示.

Scene Graph

场景图中的每个节点都有一个父节点,而不包含任何父节点的节点称为根节点.

在同样,每个节点都有一个或多个子节点,没有子节点的节点称为叶子节点;带子节点的节点称为分支节点.

节点实例只能添加到场景图一次.场景图的节点可以有效果,不透明度,变换,事件处理程序,事件处理程序,应用程序特定状态.

Prism

Prism是一个高性能硬件加速图形管道,用于在JavaFX中呈现图形.它可以渲染2-D和3-D图形.

为了渲染图形,Prism使用 :

  • Windows XP和Vista上的DirectX 9.

  • Windows 7上的DirectX 11.

  • Mac和Linux上的OpenGL,嵌入式系统.

如果系统上的图形硬件支持不足,则Prism使用软件渲染路径处理图形.

与支持的图形卡或GPU一起使用时,它可以提供更流畅的图形.如果系统不支持图形卡,则Prism默认使用软件渲染堆栈(以上两者之一).

GWT(Glass Windowing Toolkit)

顾名思义,GWT提供管理Windows,定时器,曲面和事件队列的服务. GWT将JavaFX平台连接到本机操作系统.

Quantum Toolkit

它是对Prism,Glass的低级组件的抽象,媒体引擎和Web引擎.它将Prism和GWT结合在一起并使它们可用于JavaFX.

WebView

使用JavaFX,您还可以将HTML内容嵌入到场景图中. WebView是JavaFX的组件,用于处理此内容.它使用了一种名为 Web Kit 的技术,这是一种内部开源Web浏览器引擎.该组件支持不同的Web技术,如HTML5,CSS,JavaScript,DOM和SVG.

使用WebView,您可以 :

  • 从本地或远程URL呈现HTML内容.

  • 支持历史记录并提供后退和前进导航.

  • 重新加载内容.

  • 将效果应用于网络组件.

  • 编辑HTML内容.

  • 执行JavaScript命令.

  • 处理事件.

通常,使用WebView,您可以从Java控制Web内容.

媒体引擎

JavaFX媒体引擎基于一个名为 Streamer的开源引擎.此媒体引擎支持播放视频和音频内容.

JavaFX媒体引擎支持以下文件格式的音频 :

音频
  • MP3

  • WAV

  • AIFF

视频
  • FLV

javafx.scene.media 包含用于在JavaFX中提供媒体功能的类和接口.它以三个组成部分的形式提供,它们是 :

  • 媒体对象:这代表媒体文件

  • 媒体播放器 : 播放媒体内容.

  • 媒体视图 : 显示媒体.

gpT" }) T" }) N7BtnPgpT" })