Получение идентификатора из ImageView и если getId, то сравнить с конкретным идентификатором ImageView? - PullRequest
1 голос
/ 17 марта 2019

Я могу получить идентификатор ImageView с помощью

ImageView iv = (ImageView)event.getSource();

и сохранение в строке

String userClickedImage = iv.getId();

но вы можете сравнить с идентификатором, который я уже дал ImageView в fxml В файле fxml у меня есть три изображения с тремя разными ids.as, как показано ниже

<ImageView fx:id="iv_Rock" fitHeight="100" fitWidth="100"
           onMouseClicked="#selectImage"
           GridPane.columnIndex="0" GridPane.rowIndex="2" >
    <image >
        <Image url="@images/Rock.jpg"  />
    </image>
</ImageView>

и как я сравниваю

iv.getId().equals(iv_Rock)

не работает, когда я нажимаю на изображение породы, оно должно дать результат, но оно не показывает мне результат.

1 Ответ

0 голосов
/ 17 марта 2019

Свойство id содержит строку. По этой причине правильный способ сравнения идентификатора будет

iv.getId().equals("iv_Rock")

Так как вы, кажется, вводите ImageView в контроллер, простое сравнение ссылок также должно работать:

event.getSource() == iv_Rock

Вы должны рассмотреть возможность использования 3 различных методов обработчика событий. Это устранит необходимость проверки источника; Обычно не рекомендуется использовать один и тот же метод обработчика событий для совершенно не связанных между собой вещей, основанных на источнике.

...