Просто быстрый вопрос, который находится на моем уме прямо сейчас:JavaFX InstanceOf ScrollPaneSkin терпит неудачу
У меня есть приложение JavaFX, который содержит (среди прочих) ScrollPane и мне нужно, чтобы захватить событие MouseClicked этого ScrollPane. На самом деле это не проблема, за исключением того, что мне нужно обработать событие только в том случае, если целью события является экземпляр Rectangle, ToggleButton или ScrollPaneSkin. На самом деле это тоже довольно легко, я знаю. Прямо сейчас, у меня есть следующий код:
@FXML
void scrollPaneOnMouseClicked(MouseEvent event) {
System.out.println(event.getTarget().getClass().getName());
System.out.println(event.getTarget() instanceof ScrollPaneSkin);
if (event.getTarget() instanceof RoomRectangle || event.getTarget() instanceof ToggleButton || event.getTarget() instanceof ScrollPaneSkin) {
// handle
}
}
за исключением того, что event.getTarget() instanceof ScrollPaneSkin
говорит ложь, даже если System.out.println(event.getTarget().getClass().getName());
выходы com.sun.javafx.scene.control.skin.ScrollPaneSkin$4
(и отладчик подтверждает, что).
Я также пробовал event.getTarget() instanceof ScrollPaneSkin$4
, который привел к тому, что символ «не может найти символ» -error.
Что я пропустил здесь?
Почему вы (думаете) вам это нужны? Что ты пытаешься сделать? –