JavaFX, Новое окно не запустится - PullRequest
0 голосов
/ 14 июня 2019

Я нашел этот кусок кода, но он не запустит новое пустое окно и продолжит получать ошибку NullPointerException.PS Я новичок в программировании.Любая помощь будет оценена спасибо.

package sample;

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

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        BorderPane root = new BorderPane();

        try {

            Scene scene = new Scene(root,640,480);
            scene.getStylesheets().add(getClass().getResource("/application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();

        } catch(Exception e) {
            e.printStackTrace();
        }

        root.setCenter(new RootLayout());
    }
    public static void main(String[] args) {
        launch(args);
    }
}

1 Ответ

0 голосов
/ 14 июня 2019

У меня была такая же общая проблема, когда я начинал с JavaFX, но я могу объяснить это, Он генерирует исключение нулевого указателя, поскольку не может найти ваш CSS-файл из указанного местоположения.

Я обнаружил, что вы получаете исключение nullpointer в строке ниже, . Scene.getStylesheets () добавить (GetClass () getResource ( "/ application.css") toExternalForm ()..);

Существует также другой способ добавить ваш CSS-файл в сцену

1) scene.getStylesheets().add("application.css");

2) scene.getStylesheets().add(this.getClass().getResource("/application.css").toString());

3) Package should be inside src directory and css also should be in src directory.
scene.getStylesheets().add(<packageName>.<ClassName>.class.getResource("/application.css").toExtern‌​alForm());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...