Gwt Graphics和ClickHandler

时间:2009-11-21 18:46:52

标签: graphics gwt drag-and-drop

我正在使用gwt graphics和gwt dnd作为程序。我有一个按钮,单击该按钮会在面板上的指定位置创建一个圆圈,并且该圆圈是可拖动的。对于拖动,我使用了gwt-dnd。我还在圆圈上添加了一个点击处理程序,点击时应打印“ERD Circle”。

以下是代码布局:

    Button b = new Button("Circle");
    b.addClickHandler(new ClickHandler(){
        @Override
        public void onClick(ClickEvent event) {
            // TODO Auto-generated method stub
            Circle c = new Circle(20, 15, 10);
            d.add(c);
            c.addClickHandler(new ClickHandler(){
                @Override
                public void onClick(ClickEvent event) {
                    // TODO Auto-generated method stub
                    System.out.println("ERD Circle");
                }                   
            });
            dragController.makeDraggable(d);
            boundaryPanel.add(d, 200, 200 );
        }           
    });

然后将此按钮添加到绝对面板,然后将其添加到根面板。

我面临的问题是点击处理程序在可拖动时不起作用。如果我删除

dragController.makeDraggable(d);

点击处理程序完全正常。

问题:

  1. 我在这里做错了吗?
  2. 如果代码是正确的,那么还有什么我需要添加才能同时处理点击处理程序和拖动工作吗?
  3. 任何建议都会有很大的帮助。

    谢谢。

1 个答案:

答案 0 :(得分:4)

我得到了它的工作。我刚刚添加了

dragController.setBehaviorDragStartSensitivity(1);

我的代码现在很好。