我对JavaFX很陌生,想知道是否有一种方法可以将css文件分配给整个JavaFX项目/场景。当前,我必须将样式表应用于我要使用CSS设置样式的每个元素。我正在使用IntelliJ和Scene Builder 2.0。我曾尝试在Main类的start方法中添加样式表,如下所示,但似乎没有达到预期的效果。
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("JavaFXTest.fxml"));
primaryStage.setTitle("JavaFX Test");
primaryStage.setScene(new Scene(root, 300, 275));
root.getStylesheets().add("@../styling/styles.css");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
最佳答案
我意识到这是css文件路径的问题。我将其更改为:
root.getStylesheets().add("styling/styles.css");
并取得了预期的效果。这样,我不需要手动将样式表添加到UI中的每个元素,而是现在可以在整个场景中使用。只需按照常规的CSS约定声明您的类/ id,即可添加样式。