Oh, sure. Here's one that should work:
              import <relevant classes like Button, clickhandler, Window>

                Button[] myButtons = new Button[2];
myButtons[0] = new Button("clickMeButton");
myButtons[1] = new Button("clickMe2");

for(int i=0;i<2;i++){
        myButtons[i].addClickHandler(new ClickHandler(){
                Button sourceButton;

                          @Override
                  public void onClick(ClickEvent event) {
                sourceButton = (Button)event.getSource();
                 if(sourceButton.getText().equals("clickMeButton"))  {
             Window.alert("works");
                 }
                 if(sourceButton.getText().equals("clickMe2")){
                        Window.alert("works2");
                  }
  }
});


If you don't want an additional sourceButton, you can also do:
((Button)event.getSource()).getText().equals("clickMeButton"); though as the
size of your array increases you'll end up making a lot of unnecessary calls
to getSource( ) that way.

Another approach would be to simply implement the ClickHandler in a separate
class, say if you have a lot of buttons and a long if/else branching. You
could do:

public class MyClickHandler implements ClickHander {
        Button sourceButton;

        @Override
          public void onClick(ClickEvent event) {
              sourceButton = (Button)event.getSource();
                 if(sourceButton.getText().equals("clickMeButton"))  {
                Window.alert("works");
                 }
                 if(sourceButton.getText().equals("clickMe2")){
                       Window.alert("works2");
                  }
  }
}


MyClickHandler myHandler = new MyClickHandler();
myButtons[i].addClickHandler(myHandler); // for both your buttons


To be honest, I haven't done much work with ClickHandlers yet, so there
might be a better approach to handle such scenarios. In particular, I would
check if assigning and using DOM ids for the widgets is an option. I am sure
it must be, I just haven't gotten around to that. :)

Either way, I hope this helps.

-neha

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to