我对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,即可添加样式。

08-18 16:00
查看更多