getStyleClass().add()在我移动css文件后无效

getStyleClass().add()在我移动css文件后无效,css,javafx-2,javafx,Css,Javafx 2,Javafx,我只是在重构我的程序,由于在单独的文件夹中排序文件等。。。我认识到,一些css样式的类被忽略了 例如:我在视图中添加了一个样式类,在标签中添加了第二个样式类,标签是视图的子级(view.getStyleClass().add(“myView”);)。 到目前为止,这种方法一直运作良好。现在应用视图的样式类,但不应用标签的样式类。两个样式类都在同一个css文件中 有人有主意吗 代码示例: StyleManager.getInstance().addUserAgentStylesheet(cssFi

我只是在重构我的程序,由于在单独的文件夹中排序文件等。。。我认识到,一些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;
}

确保您的项目中只有一个css类,并确保“Clean and Build”是正确的。非常感谢。但是,有没有一种方法可以拥有多个css文件?那么,这是由加载每个文件的那一刻引起的问题吗?如果我编写某种类型的资产管理器,在程序启动时加载所有css文件会怎么样?不,您可以有多个css文件。我只是想确保您没有忘记删除重构文件的旧版本。并且需要“Clean/Build”来确保重构后的css到达实际的jar/类位置。