解释 JavaFX 中 2D 对象的属性

javaobject oriented programmingprogramming更新于 2025/10/9 20:28:17

对于所有 2 维对象,您可以设置各种属性。

  • 描边类型 − 描边类型属性指定/定义形状边界线的类型。您可以使用 Shape 类的 setStrokeType() 方法设置描边类型。

    JavaFX 支持三种描边,由名为 StrokeType 的枚举的三个常量表示,即 StrokeType.INSIDE、 StrokeType.OUTSIDE、StrokeType.CENTERED。

  • 描边宽度 − 描边宽度属性指定/定义形状边界线的宽度。您可以使用 Shape 类的 setWidth() 方法将值设置为边界的宽度。

  • Fill − fill 属性指定/定义要填充形状内部区域的颜色。您可以使用 Shape 类的 fill() 方法用所需的颜色填充特定形状。

  • Stroke − stroke 属性指定/定义形状边界的颜色。您可以使用 javafx.scene.shape.Shape 类的 setStroke() 方法设置边界的颜色。

  • Stroke Line Cap − Stroke Line Cap 指定/定义线条的末端样式。您可以使用 javafx.scene.shape.Shape  类的 setStrokeLineCap() 方法设置描边线帽值。

    Java FX 支持三种描边线帽,由名为 StrokeLineCap 的三个枚举常量表示,即 BUTT、ROUND、SQUARE。

  • strokeLineJoin − 在由多条线连接而成的形状中,描边线连接属性指定/定义两条线连接处的形状。您可以使用 setStrokeLineJoin() 方法设置描边线连接。

    Java FX 支持三种描边线连接,由名为 StrokeLineJoin 的 Enum 的三个常量表示,即 BEVEL、MITER、ROUND。

  • 描边斜接限制 − 描边斜接限制属性指定/定义 StrokeLineJoin.MITER 样式中描边线连接的限制。您可以使用 javafx.scene.shape.Shape 类的  setStrokeMiterLimit() 方法设置此值。

    此方法接受双精度值并将描边斜接限制限制为给定值。如果给定值小于 1.0。它被视为 1.0。

  • Smooth − smooth 属性指定是否使用抗锯齿提示。您可以使用 javafx.scene.shape.Shape  类的 setSmooth() 方法将值设置为此属性。

  • strokeDashOffset − 如果使用的笔触是虚线图案,则 strokeDashOffset 属性指定虚线图案的偏移量。

示例

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.StrokeLineCap;
import javafx.scene.shape.StrokeLineJoin;
import javafx.scene.shape.StrokeType;
public class ShapeProperties extends Application {
   public void start(Stage stage) {
      //Drawing a Rectangle
      Rectangle rect = new Rectangle(100.0, 75.0, 400.0, 150.0);      
      //2D shape properties
      rect.setStrokeWidth(25.0);
      rect.setStrokeType(StrokeType.OUTSIDE);
      rect.setStroke(Color.BLUE);
      rect.setStrokeMiterLimit(8.0);
      rect.setStrokeLineCap(StrokeLineCap.ROUND);
      rect.setStrokeLineJoin(StrokeLineJoin .MITER);
      rect.setSmooth(false);
      //Preparing the Stage object
      Group root = new Group(rect);
      Scene scene = new Scene(root, 600, 300);
      stage.setTitle("Shape Properties Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章


有用资源