我找到了这段代码,但是它不会运行一个新的空白窗口,并且会一直得到NullPointerException错误。附注:我对编程很陌生。如有任何帮助,将不胜感激。
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);
}
}发布于 2019-06-14 12:26:59
在开始使用JavaFX时,我遇到了相同的常见问题,但我可以解释,它会引发空指针异常,因为它无法从指定的位置找到您的CSS文件。
我发现在下面的行,scene.getStylesheets().add(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").toExternalForm());https://stackoverflow.com/questions/56597725
复制相似问题