解释 JavaFX 中 3D 形状的绘制模式面属性
javafxobject oriented programmingprogramming更新于 2024/11/8 0:36:00
此绘制模式属性定义/指定用于绘制 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); } }