这段代码在for循环中给了我NullPointerException上的Image.createImage(path)
这怎么可能?

我使用一个数组作为名称,一个用于路径,一个ArrayList用于按钮。

private final String[] IMG_MENU = {"/timbratura.png", "/archivio.png", "/nota_spese.png"};
private final String[] LABEL_BOTTONI_HOME = {"Timbratura", "Archivio", "Nota spese"};
private ArrayList<Button> bottoni = new ArrayList<>();


我创建了一些按钮,将图标设置为生成的图像并将其添加到ArrayList

for(int i = 0; i < LABEL_BOTTONI_HOME.length; i++) {
  Button b = new Button(LABEL_BOTTONI_HOME[i]);

  try {
      Image im = Image.createImage(IMG_MENU[i]);
      im = im.scaled(screen_width/100*20, screen_width/100*20);
      b.setIcon(im);
  } catch (IOException ex) {
      Log.e(ex);
  }

  bottoni.add(b);
}

最佳答案

检查图像是否确实存在('src'目录,最后在jar中),并具有完全相同的区分大小写的名称。我强烈建议将图像添加到资源文件中,并在主题上使用getImage从那里获取它们,因为这是一种更可移植的方法。

关于ios - NullPointerException on Image.createImage(path),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56887730/

10-08 21:05