Как добавить style.css в мое приложение через конструктор сцен в JavaFX? - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь добавить style.css к моему java-приложению в intellij. Поэтому я добавил новый каталог с именем resources и поместил style.css в эту папку. Внутри моего конструктора сцен я указал в GridPane, что IO хочет, чтобы файл "style.css" в моих ресурсах управлял видом. Однако всякий раз, когда я запускаю код, я получаю эту ошибку.

Ошибка:

Oct 29, 2018 3:56:58 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
INFO: Could not find stylesheet: file:/C:/Users/Troy22/Desktop/Java/EMCGrabExtension/out/production/resources/style.css

Я пробовал разные способы, но, похоже, не помогло. Еще раз спасибо за вашу помощь

Код:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        Scene scene = new Scene(root,770,450);
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(scene);
        scene.getStylesheets().add("style.css");
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Вы можете попробовать добавить его через scenebuilder (на верхнем узле иерархии, поэтому, если ваш корневой узел является BorderPane, чем добавить его на этом узле):

enter image description here

Однако я бы рекомендовал добавить его как комментарий перед моим с:

scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());

Не забудьте ".toExternalForm ()" после метода "getResource ()". И убедитесь, что ваша папка ресурсов находится в пути к классам, чтобы Java нашла ее.

0 голосов
/ 29 октября 2018

Попробуйте добавить это в свой Main:

        scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
        primaryStage.setScene(scene);
        primaryStage.show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...