如何将CSS效果添加到';场景';JavaFX应用程序的开发?
我需要在我的某个JavaFX应用程序的“场景”中添加CSS效果,而不是场景或舞台的特定组件。我尝试使用:如何将CSS效果添加到';场景';JavaFX应用程序的开发?,css,javafx,scene,Css,Javafx,Scene,我需要在我的某个JavaFX应用程序的“场景”中添加CSS效果,而不是场景或舞台的特定组件。我尝试使用: .main-scene{...} 以及 但是两者都不起作用。CSS在节点上起作用,而不是在场景上 有一个css类.root,它适用于应用程序中所有场景的根节点。为了获得最大的灵活性,场景的根应该是一个子类,因为在JavaFX中区域具有更大的样式选项 例如,如果你像这样设置你的初级阶段 Pane pane = new Pane(); pane.setId("my-pane"); stage.
.main-scene{...}
以及
但是两者都不起作用。CSS在节点上起作用,而不是在场景上 有一个css类
.root
,它适用于应用程序中所有场景的根节点。为了获得最大的灵活性,场景的根应该是一个子类,因为在JavaFX中区域具有更大的样式选项
例如,如果你像这样设置你的初级阶段
Pane pane = new Pane();
pane.setId("my-pane");
stage.setScene(new Scene(pane, 300, 200));
然后,可以使用以下命令设置根窗格(所有场景)的样式:
或者仅使用以下命令在示例中的特定根窗格中执行操作:
#my-pane {
-fx-background-color: firebrick;
}
您可以直接将所需样式添加到
.root
样式类中
从
.root样式类应用于场景的根节点
例如。因为场景图中的所有节点都是
根节点,.root样式类中的样式可以应用于任何节点
此类内部编写的样式不需要在外部应用/添加。只需在.root
中添加您的样式,javafx就会自动获取它
.root{
//Your styles
}
尽管您需要在外部添加css文件
#my-pane {
-fx-background-color: firebrick;
}
.root{
//Your styles
}
scene.getStylesheets().add(
getClass().getResource("myCss.css").toExternalForm()
);