Я делаю игру на JavaFX, для которой у меня есть сетка ImageViews 5x9, а также несколько ярлыков. Когда я пытаюсь получить ссылку на этикетку, я успешен. Однако, когда я пытаюсь получить ссылку на ImageView, я получаю исключение nullPointerException.
Вот как объявляется root:
FXMLLoader loaderTwo = new FXMLLoader(getClass().getResource("/game/levelTwo.fxml"));
Parent rootTwo = loaderTwo.load();
this.handlerTwo = loaderTwo.getController();
Вот часть FXML метки:
<Label fx:id="sunCountLabel" layoutX="121.0" layoutY="15.0" minHeight="72.2891845703125" prefHeight="88.0" prefWidth="203.0" text="Label">
<font>
<Font name="Gabriola" size="60.0" />
</font>
</Label>
FXML часть представления изображения:
<ImageView fx:id="OneFive" fitHeight="180.0" fitWidth="180.0" layoutX="892.0" layoutY="102.0">
<effect>
<DropShadow height="1.0" radius="0.0" width="1.0" />
</effect>
<image>
<Image url="@../media/half.png" />
</image>
</ImageView>
Здесь я на них ссылаюсь:
this.root = this.map.getLevel(2).getRoot();
Label l = (Label)this.root.lookup("#sunCountLabel");
ImageView i = (ImageView)this.root.lookup("OneFive");
System.out.println(i==null);
l.setText("1999");
Проблема в том, что Label работает правильно, но Imageview дает исключение nullPointerException
Я не понимаю, почему?
Кроме того, сцена загружается отлично, нет проблем с адресом изображения и т. Д.