استخدام 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();
استخدم وحدة تحكم المطورين للاطلاع على السجلات (راجع أسئلة وأجوبة SmartGWT لكيفية الوصول إليها):
http://forums.smartclient.com/showthread.php؟t=8159#aconsole
تحتوي النافذة على الكثير من الأطفال المولدين تلقائيًا (على سبيل المثال رأسها وتذييله) ، لذلك ربما حاولت إضافة مستمع إلى واحد من هؤلاء ، ولم يكن قابلاً للتمرير.