如何为JavaFX项目使用CSS

时间:2017-01-15 07:26:34

标签: java css intellij-idea javafx scenebuilder

我是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);
}

2 个答案:

答案 0 :(得分:2)

我意识到这是css文件路径的问题。我改成了:

root.getStylesheets().add("styling/styles.css");

并取得了预期的效果。这样我就不需要手动将样式表添加到UI中的每个元素,而是现在可以在整个场景中使用。只需根据正常的css约定声明您的类/ id,即可添加样式。

答案 1 :(得分:0)

您可以在场景中添加样式表:

/styling/styles.css

在上面的示例中,样式表位于App\Http\Controllers相对于源根目录。