在borderpane javafx中的不同背景

时间:2017-11-09 17:50:08

标签: css javafx

我在父布局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文件在另一个包中。

1 个答案:

答案 0 :(得分:0)

VBox没有定义.vbox类选择器。解决这个问题的一种方法是 在你的VBox上设置一个名为.vbox的样式,如下所示:
myVBox.getStyleClass().add("vbox"); 但如果您希望所有VBox都具有该背景,则需要为应用程序中的每个VBox执行此操作。

有关详情,请参阅有关HBox s:JavaFX: Styling application with CSS Selectors的此问题。