JavaFX用户界面元素简介
1. 渲染模型
JavaFX采用了两种主要的渲染模型:立即模式渲染和保留模式渲染。立即模式渲染类似于传统的绘图方式,其中客户端代码直接负责用户界面元素的光栅化。例如,Java2D Graphics使用即时模式渲染,客户端代码必须负责获取图形上下文并进行绘制。相比之下,保留模式渲染则是由库内部维护图形数据模型。应用程序触发的重绘不会直接渲染整个用户界面,而是更新底层数据模型,并仅将需要的部分渲染到显示设备上。这使得保留模式渲染比即时模式渲染更加优化,因为后者每次执行程序时都需要重复进行类型检查。
立即模式与保留模式渲染对比
特征 | 立即模式渲染 | 保留模式渲染 |
---|---|---|
绘图控制 | 客户端代码直接控制绘图 | 库内部维护图形数据模型 |
性能 | 需要重复进行类型检查,效率较低 | 内部优化,执行和存储更高效 |
适用场景 | 适合简单的绘图任务 | 更适用于复杂的UI应用 |
2. 场景图(Scene Graph)
JavaFX使用场景图数据模型来实现保留模式渲染。场景图是一种设备无关的数据模型,它允许程序员定义