移动我的css文件后,getStyleClass()。add()无效

时间:2013-11-20 17:15:06

标签: css javafx-2 javafx

我只是重构我的程序,并且由于在单独的文件夹中排序文件等...我认识到,有些css样式类被忽略了。

例如:我将一个样式类添加到视图中,将第二个样式类添加到标签中,该标签是视图的子项(view.getStyleClass()。add(“myView”);)。 直到现在,这种方法运作良好。现在应用视图的样式类,但不应用标签的样式类。两个样式类都在相同的css文件中

有人有想法吗?

代码示例:

StyleManager.getInstance().addUserAgentStylesheet(cssFilePath);
view.getStyleClass().add("myView"); //will be applied
...
msgLabel.getStyleClass().add("myLabel"); //has no effect
msgLabel.setId("messageId");

CSS片段:

.myView {
    -fx-background-color: linear-gradient(#44bbff 0%, #0063d3 100%);
    -fx-background-radius: 10;
    -fx-border-style: none;
    -fx-padding: 0 30 0 0;
    -fx-effect: dropshadow(gaussian, #d9d9d9, 10, 0, 2, 2);
}

.myView:pressed {
    -fx-background-color: linear-gradient(#1b82da 0%, #176dbc 100%);
}

.myLabel {
    -fx-font-size: 32px;
    -fx-text-fill: #ffffff;
    -fx-effect: dropshadow(gaussian, #223377, 10, 0, 1, 1);
    -fx-padding: 0;
}

更新:当我将标签样式类更改为以下代码时,将应用字体大小,但不会应用文本填充效果。

.label .myLabel {
    -fx-font-size: 32px;
    -fx-text-fill: #ffffff;
    -fx-effect: dropshadow(gaussian, #223377, 10, 0, 1, 1);
    -fx-padding: 0;
}

0 个答案:

没有答案