使复合小部件可拖动的问题

时间:2009-12-28 06:20:10

标签: gwt drag-and-drop

对于gwt n dnd而言相对来说非常新...我创建了一个复合小部件..当我尝试使复合小部件的对象可拖动时,它会抛出一个异常     “dragHandle必须实现HasMouseDownHandlers,HasMouseUpHandlers,HasMouseMoveHandlers和HasMouseOutHandlers才能拖拽”我错过了一些非常重要的内容吗?

谢谢, 娜斯迪胡

1 个答案:

答案 0 :(得分:6)

您可以像这样实现它们:

public class MyWidget extends Composite implements HasAllMouseHandlers, HasClickHandlers {

...

      public HandlerRegistration addClickHandler(ClickHandler handler) {
        return addDomHandler(handler, ClickEvent.getType());
      }

      public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
          return addDomHandler(handler, MouseDownEvent.getType());
      }

      public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) {
        return addDomHandler(handler, MouseMoveEvent.getType());
      }

      public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
        return addDomHandler(handler, MouseOutEvent.getType());
      }

      public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
        return addDomHandler(handler, MouseOverEvent.getType());
      }

      public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
        return addDomHandler(handler, MouseUpEvent.getType());
      }

      public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
        return addDomHandler(handler, MouseWheelEvent.getType());
      }

}

要让您的小部件正常工作,请看这个 http://groups.google.com/group/gwt-dnd/browse_thread/thread/85039aaa229d53cf/f5ad10ff9a37ab9d?lnk=gst&q=custom+widget#f5ad10ff9a37ab9d