У меня есть ControlsFX GridView
, который содержит изображения в своих ячейках, и каждое из этих изображений может быть переупорядочено / несколько изображений одновременно.
Это все работает нормально, однако, когда нужно прокрутить вниз GridView
, а также перетащить одно из изображений, получается сложно:
Макет:
Кажется, что моя проблема не настолько специфична для меня, но, похоже, ScrollEvents
не срабатывает во время DragEvents
.
Это тот случай, или есть способ справиться с обоими одновременно?
Дополнительная информация:
В идеале, я бы хотел, чтобы событие ScrollEvent
продолжало срабатывать, чтобы я мог просто программно переместить полосу прокрутки на GridView
, однако, когда есть DragEvent
, кажется, что мое ScrollEvent
событие не стреляет.
Мой ScrollEvent
:
public void watchSceneMouseWheelEvents(AppModel app) {
//getScene() gets the main scene, set in app model.
app.getScene().setOnScroll((ScrollEvent event) -> {
System.out.println("Mouse wheel scrolling.");
event.consume();
});
}
Это прекрасно работает, и я получаю Mouse wheel scrolling.
в своей консоли всякий раз, когда и где бы в сцене я ни прокручивал колесо мыши, и, очевидно, это означает, что оно срабатывает, когда внутри GridView
и фактически прокручивает GridView
.
Но как только я перетаскиваю изображение, ScrollEvent
прекращает стрельбу, и в DragEvents
, похоже, нет ничего, что могло бы предотвратить ScrollEvent
.
Я искал способ обнаружить только прокрутку колесика мыши самостоятельно, но при этом он не был найден, но ничего не смог найти.
У меня также было другое решение, где изображения перетаскивались к верхнему или нижнему краям приложения, и это вызывало бы прокрутку, хотя, это не работало / не работает гладко, поэтому я удалите его, пока я пытаюсь заставить работать более простой вариант.
У кого-нибудь когда-нибудь возникала такая же проблема / есть ли лучший метод решения этой проблемы?
Любые указания, советы, указатели будут приветствоваться !!!