Вопрос

Я хотел бы что -то сделать, когда в окне SmartGWT произошло событие прокрутки. Я предполагаю, что событие будет запущено, когда произойдет хотя бы одно из следующих действий: прокрутите в окне с помощью колесного колеса мыши, прокручиваясь, перетаскивая полосу прокрутки или прокрутку с помощью стрел.

Я добавил обработчик в окно SmartGWT, а также в холст SmartGWT, который является единственным ребенком окна. Оба были настроены для написания GWT.Log.

Тем не менее, я не могу получить скручивание для стрельбы.

Любые идеи?

Это было полезно?

Решение

Не уверен, что вы сделали неправильно, но вот рабочий образец:

Window window = new Window();
 window.resizeTo(200,200);
 VLayout layout = new VLayout();
 layout.setOverflow(Overflow.AUTO);

 // create something large enough to allow scrolling
 Canvas canvas = new Canvas();
 canvas.setHeight(500);
 layout.addMember(canvas);
 window.addItem(layout);

 layout.addScrolledHandler(new ScrolledHandler() {
   @Override
   public void onScrolled(ScrolledEvent event) {
    SC.logWarn("scrolled");
   }
 });

 window.draw();

Используйте консоль разработчика, чтобы увидеть журналы (см. FAQ SmartGWT для того, как к нему доступ):

http://forums.smartclient.com/showthread.php?t=8159#aconsole

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top