我需要在'场景中添加CSS效果。我的某个JavaFX应用程序,而不是场景或阶段的特定组件。我试着用:
.main-scene{...}
和
.main-class{...}
但都没有奏效。
答案 0 :(得分:1)
CSS适用于节点而非场景。
有一个css类.root
,它适用于应用程序中所有场景的根节点。为了获得最大的灵活性,场景的根应该是Region子类,因为区域在JavaFX中具有更大的样式选项。
例如,如果您像这样设置初级阶段。
Pane pane = new Pane();
pane.setId("my-pane");
stage.setScene(new Scene(pane, 300, 200));
然后,您可以使用以下方式设置(所有场景的)根窗格的样式:
.root {
-fx-background-color: yellow;
}
或者只是使用以下内容的示例中的特定根窗格:
#my-pane {
-fx-background-color: firebrick;
}
答案 1 :(得分:0)
您可以直接将所需的样式添加到.root
样式类
来自docs
.root样式类应用于Scene的根节点 实例。因为场景图中的所有节点都是其后代 根节点,.root样式类中的样式可以应用于任何节点。
此类中编写的样式不需要在外部应用/添加。只需在.root
中添加您的样式,它就会被javafx自动选中。
.root{
//Your styles
}
虽然你需要在外部添加css文件!
scene.getStylesheets().add(
getClass().getResource("myCss.css").toExternalForm()
);