JavaFX:如何不在ScrollingPane

时间:2016-07-19 03:40:20

标签: java css javafx

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

Fills outside of rounded borders

爪哇:

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);

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;
}

2 个答案:

答案 0 :(得分:2)

感谢@sillyfly指出 -

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

答案 1 :(得分:0)

设置标签透明的背景颜色

-fx-background-color: transparent;