我在父布局BorderPane的左侧位置使用VBox。我想使用css文件来更改和使用包含我的VBox的BorderPane左侧的图像背景。我在我的ccs文件中有以下内容,但无法管理它。
.vbox{
-fx-background-image: url("/ui/image11.jpg");
-fx-background-repeat: no-repeat;
-fx-background-position: center center;
-fx-background-size: 500 500;
}
.root{
-fx-background-color: #ecf0f1;
-fx-background-position: center center;
-fx-background-size: 500 500;
}
.button{
-fx-text-fill: #ecf0f1;
-fx-background-color: #455d7a;
-fx-position: center;
-fx-min-width: 150px;
-fx-transition-duration: 1;
}
使用此css文件,.root和.button中的规则确实适用但不适用于.vbox。如何管理BorderPane中不同部分的背景。
我使用以下代码行导入css文件:
scene.getStylesheets().add(this.getClass().getResource("/styles/contentStyle.css").toExternalForm());
这是正确的方法吗? css文件在另一个包中。
答案 0 :(得分:0)
VBox
没有定义.vbox
类选择器。解决这个问题的一种方法是
在你的VBox上设置一个名为.vbox
的样式,如下所示:
myVBox.getStyleClass().add("vbox");
但如果您希望所有VBox都具有该背景,则需要为应用程序中的每个VBox执行此操作。
有关详情,请参阅有关HBox
s:JavaFX: Styling application with CSS Selectors的此问题。