【问题标题】:JavaFX Image / ImageView NullPointerExceptionJavaFX 图像/图像视图 NullPointerException
【发布时间】:2015-04-02 18:14:31
【问题描述】:

我想在我的程序中加载一个图像,但我遇到了一个异常。 我试图更改文件路径,但它没有改变任何东西。 我将图像从 jpg 转换为 png 文件,但没有任何改变

public class Main extends Application {


   static int WIDTH = 800;
   static int HIGHT = 600;

   private  Player player;
   final static Image back = new Image(Main.class.getResourceAsStream("src/images/background.png").toString());

   @Override
   public void start(Stage primaryStage) throws Exception{
       final ImageView background = new ImageView(back);
       final Group root = new Group();

       primaryStage.setTitle("Hello World");
       primaryStage.setScene(new Scene(root, WIDTH, HIGHT));
       primaryStage.show();

   }

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

例外情况

Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:260)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)Caused by: java.lang.NullPointerException
at sample.game.Main.<clinit>(Main.java:21)
... 3 more

【问题讨论】:

  • 路径错误。您可能需要删除"src",但如果不知道项目文件的结构,就无法确定。

标签: image javafx imageview


【解决方案1】:

尝试使用:

final static Image back = new Image("/images/background.png");

你可以直接使用:

ImageView imageView = new ImageView("/images/background.png");

只要确保图像位于classpathbuildpath 上的文件夹中,无论你想怎么称呼它。

【讨论】:

  • 这没什么变化,我会发布文件结构
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 2014-05-23
相关资源
最近更新 更多