JavaFX - 边框半径<->背景颜色

JavaFX - Border radius <-> Background color

如果我将 -fx-border-radius-fx-border-width CSS 添加到一个简单的 GridPane,在它的角落背景将不会是 "cut down".

CSS:

.payload {
    -fx-hgap: 20px;
    -fx-padding: 40px;

    -fx-background-color: #2969c0;

    -fx-border-radius: 50px;
    -fx-border-width: 5px;
    -fx-border-color: black;
    -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.8), 10, 0, 0, 0);
}

结果图片:

我该如何解决这个问题?

您还需要添加半径 属性 来定义背景填充。否则它将假定为零值,如您的图片所示。

您可以查看 CSS 规格 here

您只需添加 -fx-background-radius 属性:

.payload {
    -fx-hgap: 20px;
    -fx-padding: 40px;

    -fx-background-color: #2969c0;
    -fx-background-radius: 50px;

    -fx-border-radius: 50px;
    -fx-border-width: 5px;
    -fx-border-color: black;
    -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.8), 10, 0, 0, 0);
}