Имеется код:
this.setOnMouseDragReleased(event -> {
if(event.getGestureSource().getClass() == Pane.class) {
something();
}
}
Если наш GestureSource является непосредственно Pane, то данное условие срабатывает, но в случае если GestureSource наследуемый класс от Pane, то ничего не происходит. Подскажите, какое решение использовать в данном случае, чтобы наше условие срабатывало не только от Pane, но и от всех наследуемых от него классов?
Чтобы узнать, является ли выбранный класс наследником какого-либо класса, либо им самим, используйте оператор instanceof.
В вашем случае
this.setOnMouseDragReleased(event -> {
if (event.getGestureSource().getClass() instanceof Pane) {
something();
}
}
Предупреждение: не стоит злоупотреблять вызовами instanceof, т.к. это очень затратная по времени операция.
Продвижение своими сайтами как стратегия роста и независимости