2009-11-21 6 views
2

J'utilise gwt graphics et gwt dnd pour un programme. J'ai un bouton qui, lorsqu'il est cliqué, crée un cercle à la position spécifiée sur le panneau et le cercle est déplaçable. Pour faire glisser, j'ai utilisé gwt-dnd. J'ai également ajouté un gestionnaire de clic au cercle qui, lorsque vous cliquez, devrait imprimer "Cercle ERD".Gwt Graphics et ClickHandler

Voici la mise en page de code:

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

Ce bouton est ensuite ajouté à un absolutepanel qui à son tour est ajouté à la RootPanel.

Problème auquel je fais face, le gestionnaire de clic ne fonctionne pas lorsqu'il est déplaçable. Si j'enlève

dragController.makeDraggable(d); 

click handler fonctionne parfaitement bien.

Question:

  1. que je fais quelque chose de mal ici?
  2. Si le code est correct, alors y a-t-il autre chose que j'ai besoin d'ajouter pour que le gestionnaire de clics et le système de traçage fonctionnent?

Toutes les suggestions seront d'une grande aide.

Merci.

Répondre

4

Je l'ai fonctionné. Je viens d'ajouter

dragController.setBehaviorDragStartSensitivity(1); 

à mon code et c'est bien maintenant.