JavaFX:如何不在 ScrollingPane 中的 Label 的圆形边框外填充背景

euw*_*bah 3 css java javafx

我试图在 ScrollingPane 内的标签上获得圆角边框,但即使边框是圆角,标签的背景填充仍然显示为矩形。如何确保背景填充符合标签的圆形边框?

填充圆形边框之外

爪哇:

String quizMetaData = quiz.getQuizMetadata();

Label quizInfoText = new Label(quizMetaData);
ScrollPane scrollPane = new ScrollPane();

quizInfoText.setId("quiz-info-text");
quizInfoText.prefWidthProperty().bind(scrollPane.widthProperty().multiply(0.95));
quizInfoText.prefHeightProperty().bind(scrollPane.heightProperty().multiply(0.98));

scrollPane.setContent(quizInfoText);
scrollPane.setId("quiz-info-scrollpane");
scrollPane.setPrefSize(600, 250);
scrollPane.setLayoutX(100);
scrollPane.setLayoutY(60);
pane.getChildren().add(scrollPane);
Run Code Online (Sandbox Code Playgroud)

CSS:

#quiz-info-text {
    -fx-background-color: #203020;
    -fx-font: 16pt "Courier New";
    -fx-text-fill: #00C030;
    -fx-alignment: top-center;
    -fx-border-width: 10;
    -fx-border-color: #306030;
    -fx-border-radius: 15.0;
    -fx-padding: 1;
    -fx-wrap-text: true;
}

#quiz-info-text:hover {
    -fx-background-color: #304030;
    -fx-font: 16pt "Courier New";
    -fx-text-fill: #00E020;
    -fx-alignment: top-center;
    -fx-border-width: 10;
    -fx-border-color: #306030;
    -fx-border-radius: 15.0;
    -fx-padding: 1;
    -fx-wrap-text: true;
}

#quiz-info-scrollpane {
    -fx-background: #000000;
    -fx-fit-to-width: true;
    -fx-fit-to-height: false;
    -fx-vbar-policy: as-needed;
    -fx-hbar-policy: as-needed;
    -fx-border-color: #000000;
    -fx-background-color: black;
}

#quiz-info-scrollpane:focused {
    -fx-border-color: #000000;
    -fx-background-color: black;
}
Run Code Online (Sandbox Code Playgroud)

euw*_*bah 6

感谢@sillyfly 指出 -

我忘记添加-fx-background-radius: 15CSS 了!