ScrollEvent не срабатывает, если работает DragEvent - PullRequest
2 голосов
/ 27 мая 2019

У меня есть ControlsFX GridView, который содержит изображения в своих ячейках, и каждое из этих изображений может быть переупорядочено / несколько изображений одновременно.

Это все работает нормально, однако, когда нужно прокрутить вниз GridView, а также перетащить одно из изображений, получается сложно:

Макет:

Mockup

Кажется, что моя проблема не настолько специфична для меня, но, похоже, 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.

Я искал способ обнаружить только прокрутку колесика мыши самостоятельно, но при этом он не был найден, но ничего не смог найти.

У меня также было другое решение, где изображения перетаскивались к верхнему или нижнему краям приложения, и это вызывало бы прокрутку, хотя, это не работало / не работает гладко, поэтому я удалите его, пока я пытаюсь заставить работать более простой вариант.

У кого-нибудь когда-нибудь возникала такая же проблема / есть ли лучший метод решения этой проблемы?

Любые указания, советы, указатели будут приветствоваться !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...