Smart-GWT ScrolledHandler Использование
-
23-09-2019 - |
Вопрос
Я хотел бы что -то сделать, когда в окне 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
У окна много автоматических детей (например, его заголовок и нижний колонтитул), так что, возможно, вы попытались добавить слушателя к одному из них, и оно не было прокручиваемым.