2009-11-21 45 views
2

我正在使用gwt圖形和gwt dnd的程序。我有一個按鈕,當點擊時在面板上的指定位置創建一個圓,並且該圓是可拖動的。爲了拖拽,我使用了gwt-dnd。我還向圓圈添加了一個點擊處理程序,點擊時應該打印「ERD圓圈」。Gwt圖形和ClickHandler

下面是代碼佈局:

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); 
     }   
    }); 

該按鈕然後加入到這反過來又被加到rootpanel一個absolutepanel。

我面對的問題是點擊處理程序在拖動時不起作用。如果我刪除

dragController.makeDraggable(d); 

點擊處理程序工作得很好。

問:

  1. 難道我做錯了什麼嗎?
  2. 如果代碼是正確的,那麼還有什麼我需要添加以獲得點擊處理程序和可拖動的工作?

任何建議都會有很大的幫助。

謝謝。

回答

4

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

dragController.setBehaviorDragStartSensitivity(1); 

現在我的代碼和它的罰款。