- JavaFX 教程
- JavaFX - 首页
- JavaFX - 概述
- JavaFX 安装和架构
- JavaFX - 环境
- JavaFX - 使用 Netbeans 安装
- JavaFX - 使用 Eclipse 安装
- JavaFX - 使用 Visual Studio Code 安装
- JavaFX - 架构
- JavaFX - 应用程序
- JavaFX 2D 形状
- JavaFX - 2D 形状
- JavaFX - 绘制直线
- JavaFX - 绘制矩形
- JavaFX - 绘制圆角矩形
- JavaFX - 绘制圆形
- JavaFX - 绘制椭圆
- JavaFX - 绘制多边形
- JavaFX - 绘制折线
- JavaFX - 绘制三次贝塞尔曲线
- JavaFX - 绘制二次贝塞尔曲线
- JavaFX - 绘制圆弧
- JavaFX - 绘制 SVGPath
- JavaFX 2D 对象的属性
- JavaFX - 描边类型属性
- JavaFX - 描边宽度属性
- JavaFX - 描边填充属性
- JavaFX - 描边属性
- JavaFX - 描边线连接属性
- JavaFX - 描边斜接限制属性
- JavaFX - 描边线端点属性
- JavaFX - 平滑属性
- JavaFX 路径对象
- JavaFX - 路径对象
- JavaFX - LineTo 路径对象
- JavaFX - HLineTo 路径对象
- JavaFX - VLineTo 路径对象
- JavaFX - QuadCurveTo 路径对象
- JavaFX - CubicCurveTo 路径对象
- JavaFX - ArcTo 路径对象
- JavaFX 颜色和纹理
- JavaFX - 颜色
- JavaFX - 线性渐变图案
- JavaFX - 径向渐变图案
- JavaFX 文本
- JavaFX - 文本
- JavaFX 效果
- JavaFX - 效果
- JavaFX - 颜色调整效果
- JavaFX - 颜色输入效果
- JavaFX - 图像输入效果
- JavaFX - 混合效果
- JavaFX - 绽放效果
- JavaFX - 辉光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 运动模糊效果
- JavaFX - 反射效果
- JavaFX - 棕褐色效果
- JavaFX - 阴影效果
- JavaFX - 投影效果
- JavaFX - 内阴影效果
- JavaFX - 照明效果
- JavaFX - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- JavaFX - 位移映射
- JavaFX - 透视变换
- JavaFX 动画
- JavaFX - 动画
- JavaFX - 旋转转换
- JavaFX - 缩放转换
- JavaFX - 平移转换
- JavaFX - 淡入淡出转换
- JavaFX - 填充转换
- JavaFX - 描边转换
- JavaFX - 顺序转换
- JavaFX - 并行转换
- JavaFX - 暂停转换
- JavaFX - 路径转换
- JavaFX 图像
- JavaFX - 图像
- JavaFX 3D 形状
- JavaFX - 3D 形状
- JavaFX - 创建长方体
- JavaFX - 创建圆柱体
- JavaFX - 创建球体
- 3D 对象的属性
- JavaFX - 剔除面属性
- JavaFX - 绘制模式属性
- JavaFX - 材质属性
- JavaFX 事件处理
- JavaFX - 事件处理
- JavaFX - 使用便捷方法
- JavaFX - 事件过滤器
- JavaFX - 事件处理程序
- JavaFX UI 控件
- JavaFX - UI 控件
- JavaFX - ListView
- JavaFX - Accordion
- JavaFX - ButtonBar
- JavaFX - ChoiceBox
- JavaFX - HTMLEditor
- JavaFX - MenuBar
- JavaFX - Pagination
- JavaFX - ProgressIndicator
- JavaFX - ScrollPane
- JavaFX - Separator
- JavaFX - Slider
- JavaFX - Spinner
- JavaFX - SplitPane
- JavaFX - TableView
- JavaFX - TabPane
- JavaFX - ToolBar
- JavaFX - TreeView
- JavaFX - Label
- JavaFX - CheckBox
- JavaFX - RadioButton
- JavaFX - TextField
- JavaFX - PasswordField
- JavaFX - FileChooser
- JavaFX - Hyperlink
- JavaFX - Tooltip
- JavaFX - Alert
- JavaFX - DatePicker
- JavaFX - TextArea
- JavaFX 图表
- JavaFX - 图表
- JavaFX - 创建饼图
- JavaFX - 创建折线图
- JavaFX - 创建面积图
- JavaFX - 创建条形图
- JavaFX - 创建气泡图
- JavaFX - 创建散点图
- JavaFX - 创建堆叠面积图
- JavaFX - 创建堆叠条形图
- JavaFX 布局窗格
- JavaFX - 布局窗格
- JavaFX - HBox 布局
- JavaFX - VBox 布局
- JavaFX - BorderPane 布局
- JavaFX - StackPane 布局
- JavaFX - TextFlow 布局
- JavaFX - AnchorPane 布局
- JavaFX - TilePane 布局
- JavaFX - GridPane 布局
- JavaFX - FlowPane 布局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒体
- JavaFX - 处理媒体
- JavaFX - 播放视频
- JavaFX 有用资源
- JavaFX - 快速指南
- JavaFX - 有用资源
- JavaFX - 讨论
JavaFX - 3D 形状
在前面的章节中,我们已经了解了如何在 JavaFX 应用程序的 XY 平面上绘制 2D 形状。除了这些 2D 形状之外,我们还可以使用 JavaFX 绘制其他几个 3D 形状。
3D 形状
一般来说,3D 形状是在 XYZ 平面上绘制的几何图形。它们由两个或多个维度定义,通常是长度、宽度和深度。JavaFX 支持的 3D 形状包括圆柱体、球体和长方体。
上面提到的每个 3D 形状都由一个类表示,所有这些类都属于javafx.scene.shape包。名为Shape3D的类是 JavaFX 中所有三维形状的基类。
创建 3D 形状
要创建三维形状,您需要 -
实例化所需 3D 形状的相应类。
设置 3D 形状的属性。
将 3D 形状对象添加到组中。
实例化相应类
要创建三维形状,首先需要实例化其相应的类。例如,如果您想创建一个 3D 长方体,则需要实例化名为 Box 的类,如下所示 -
Box box = new Box();
设置形状的属性
实例化类后,需要使用 setter 方法设置形状的属性。
例如,要绘制一个 3D 长方体,您需要传递其宽度、高度、深度。您可以使用其各自的 setter 方法指定这些值,如下所示 -
//Setting the properties of the Box box.setWidth(200.0); box.setHeight(400.0); box.setDepth(200.0);
将形状对象添加到组中
最后,需要通过将其作为构造函数的参数传递,将形状对象添加到组中,如下所示。
//Creating a Group object Group root = new Group(box);
下表列出了 JavaFX 提供的各种 3D 形状。
| 序号 | 形状和描述 |
|---|---|
| 1 |
长方体
长方体是一种三维形状,具有长度(深度)、宽度和高度。 在 JavaFX 中,三维长方体由名为Box的类表示。此类属于javafx.scene.shape包。 通过实例化此类,您可以在 JavaFX 中创建一个长方体节点。 此类具有 3 个双精度数据类型的属性,即 -
|
| 2 | 圆柱体
圆柱体是一个封闭的实体,有两个平行的(大多是圆形的)底面,由一个曲面连接。 它由两个参数描述,即其圆形底面的半径和圆柱体的高度。 在 JavaFX 中,圆柱体由名为Cylinder的类表示。此类属于javafx.scene.shape包。 通过实例化此类,您可以在 JavaFX 中创建一个圆柱体节点。此类具有 2 个双精度数据类型的属性,即 -
|
| 3 | 球体
球体定义为在 3D 空间中与给定点距离 r 相同的所有点的集合。此距离 r 是球体的半径,给定点是球体的中心。 在 JavaFX 中,球体由名为Sphere的类表示。此类属于javafx.scene.shape包。 通过实例化此类,您可以在 JavaFX 中创建一个球体节点。 此类具有名为radius的双精度数据类型属性。它表示球体的半径。 |
3D 对象的属性
对于所有三维对象,您可以在 JavaFX 中设置各种属性。它们列在下面 -
我们将在本教程的后续章节中讨论 3D 对象的属性。