解释 JavaFX 中 3D 形状的绘制模式面属性
javafxobject oriented programmingprogramming更新于 2026/1/3 23:08:17
此绘制模式属性定义/指定用于绘制 3D 形状的模式。您可以使用 setDrawMode() 方法(Shape 类)将值设置为 3d 对象的绘制模式属性。
JavaFX 支持两种绘制模式,由名为 DrawMode − FILL 和 LINE 的枚举常量表示。
示例
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.DrawMode;
import javafx.scene.shape.Sphere;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class DrawModeProperty extends Application {
public void start(Stage stage) {
//绘制球体
Sphere sphere1 = new Sphere(100);
sphere1.setTranslateX(80.0);
sphere1.setTranslateY(180.0);
sphere1.setTranslateZ(150.0);
//设置属性"绘制模式"
sphere1.setDrawMode(DrawMode.LINE);
//绘制球体
Sphere sphere2 = new Sphere(100);
sphere2.setTranslateX(380.0);
sphere2.setTranslateY(180.0);
sphere2.setTranslateZ(150.0);
//设置属性"绘制模式"
sphere2.setDrawMode(DrawMode.FILL);
//设置透视相机
PerspectiveCamera cam = new PerspectiveCamera();
cam.setTranslateX(-50);
cam.setTranslateY(50);
cam.setTranslateZ(0);
Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 15);
Text label1 = new Text("Draw Mode: LINE");
label1.setFont(font);
label1.setX(40);
label1.setY(300);
Text label2 = new Text("绘制模式:填充");
label2.setFont(font);
label2.setX(280);
label2.setY(300);
//设置场景
Group root = new Group(sphere1, sphere2, label1, label2);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
scene.setCamera(cam);
stage.setTitle("3D Shape Property: Draw Mode");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出


