如何在 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-cap
(square
、butt
或 round
)和 [=19= 的设置](miter
、bevel
或 round
)。
快速示例:
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 ;
}
这给出了
我想创建类似于预定义 "dashed" 样式的边框样式
(-fx-border-style: dashed
).
如何在 CSS 中使用自定义长度的虚线段、线帽和线连接创建虚线边框?
参见 JavaFX CSS reference for Region
,特别是 -fx-border-style
的可能值。您可以使用 segments(...)
定义任意线段长度:还有 line-cap
(square
、butt
或 round
)和 [=19= 的设置](miter
、bevel
或 round
)。
快速示例:
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 ;
}
这给出了