سؤال

أود أن أفعل شيئًا عندما يكون حدث التمرير على نافذة 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

تحتوي النافذة على الكثير من الأطفال المولدين تلقائيًا (على سبيل المثال رأسها وتذييله) ، لذلك ربما حاولت إضافة مستمع إلى واحد من هؤلاء ، ولم يكن قابلاً للتمرير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top