如何在 JavaFX CSS 中创建自定义边框样式?

How to create custom border style in JavaFX CSS?

我想创建类似于预定义 "dashed" 样式的边框样式 (-fx-border-style: dashed).

如何在 CSS 中使用自定义长度的虚线段、线帽和线连接创建虚线边框?

参见 JavaFX CSS reference for Region,特别是 -fx-border-style 的可能值。您可以使用 segments(...) 定义任意线段长度:还有 line-capsquarebuttround)和 [=19= 的设置](miterbevelround)。

快速示例:

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class CustomBorderExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        Region region = new Region();
        region.getStyleClass().add("custom-dashed-border");
        region.setMinSize(400, 400);
        StackPane root = new StackPane(region);
        root.setPadding(new Insets(16));
        Scene scene = new Scene(root, 480, 480);
        scene.getStylesheets().add("custom-dashed-border.css");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

自定义虚线-border.css:

.custom-dashed-border {
    -fx-border-color: blue ;
    -fx-border-width: 5 ; 
    -fx-border-style: segments(10, 15, 15, 15)  line-cap round ;
}

这给出了