stephen_mcleod
21 Apr 2008, 9:10 PM
If I add a Click event listener to a Tree, it appears that the click events are fired twice for each tree item clicked. eg
public final void onModuleLoad() {
Tree tree = new Tree();
tree.addListener(Events.Click, new Listener<TreeEvent>() {
public void handleEvent(TreeEvent te) {
System.out.println("Click: " + te);
new RuntimeException().printStackTrace();
}
});
tree.getRootItem().add(new TreeItem("Item 1"));
tree.getRootItem().add(new TreeItem("Item 2"));
RootPanel.get().add(tree);
}
Run the above, click on either item, and you can see the event is fired twice. From the stack trace, the event is fired from the following two places:
...
at com.extjs.gxt.ui.client.util.EventTable.sendEvent(EventTable.java:85)
at com.extjs.gxt.ui.client.util.Observable.fireEvent(Observable.java:87)
at com.extjs.gxt.ui.client.widget.Component.fireEvent(Component.java:434)
at com.extjs.gxt.ui.client.widget.tree.TreeItem.onComponentEvent(TreeItem.java:379)
at com.extjs.gxt.ui.client.widget.Component.onBrowserEvent(Component.java:653)
at com.extjs.gxt.ui.client.widget.tree.Tree.onBrowserEvent(Tree.java:474)
...
at com.extjs.gxt.ui.client.util.EventTable.sendEvent(EventTable.java:85)
at com.extjs.gxt.ui.client.util.Observable.fireEvent(Observable.java:87)
at com.extjs.gxt.ui.client.widget.Component.fireEvent(Component.java:434)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$1.handleEvent(TreeItemUI.java:35)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$1.handleEvent(TreeItemUI.java:1)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$3.handleEvent(TreeItemUI.java:69)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$3.handleEvent(TreeItemUI.java:1)
at com.extjs.gxt.ui.client.widget.tree.TreeItem.onComponentEvent(TreeItem.java:386)
I'm using gxt-1.0-beta1.
public final void onModuleLoad() {
Tree tree = new Tree();
tree.addListener(Events.Click, new Listener<TreeEvent>() {
public void handleEvent(TreeEvent te) {
System.out.println("Click: " + te);
new RuntimeException().printStackTrace();
}
});
tree.getRootItem().add(new TreeItem("Item 1"));
tree.getRootItem().add(new TreeItem("Item 2"));
RootPanel.get().add(tree);
}
Run the above, click on either item, and you can see the event is fired twice. From the stack trace, the event is fired from the following two places:
...
at com.extjs.gxt.ui.client.util.EventTable.sendEvent(EventTable.java:85)
at com.extjs.gxt.ui.client.util.Observable.fireEvent(Observable.java:87)
at com.extjs.gxt.ui.client.widget.Component.fireEvent(Component.java:434)
at com.extjs.gxt.ui.client.widget.tree.TreeItem.onComponentEvent(TreeItem.java:379)
at com.extjs.gxt.ui.client.widget.Component.onBrowserEvent(Component.java:653)
at com.extjs.gxt.ui.client.widget.tree.Tree.onBrowserEvent(Tree.java:474)
...
at com.extjs.gxt.ui.client.util.EventTable.sendEvent(EventTable.java:85)
at com.extjs.gxt.ui.client.util.Observable.fireEvent(Observable.java:87)
at com.extjs.gxt.ui.client.widget.Component.fireEvent(Component.java:434)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$1.handleEvent(TreeItemUI.java:35)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$1.handleEvent(TreeItemUI.java:1)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$3.handleEvent(TreeItemUI.java:69)
at com.extjs.gxt.ui.client.widget.tree.TreeItemUI$3.handleEvent(TreeItemUI.java:1)
at com.extjs.gxt.ui.client.widget.tree.TreeItem.onComponentEvent(TreeItem.java:386)
I'm using gxt-1.0-beta1.