GWT中的TreeItem ClickHandler
使用标准GWT2.0.3API,如何将Clickhandler添加到TreeItem?我希望实现对服务器的异步调用,以检索扩展后的树项 不幸的是,GWT中的TreeItem ClickHandler,gwt,Gwt,使用标准GWT2.0.3API,如何将Clickhandler添加到TreeItem?我希望实现对服务器的异步调用,以检索扩展后的树项 不幸的是,fastree在GXT应用程序中不起作用。因此,我回到了需要将处理程序附加到TreeItems的原始步骤 此代码是否有明显的缺点: Tree.addSelectionHandler(new SelectionHandler<TreeItem>() { @Override public void onSelection(Sel
fastree
在GXT应用程序中不起作用。因此,我回到了需要将处理程序附加到TreeItem
s的原始步骤
此代码是否有明显的缺点:
Tree.addSelectionHandler(new SelectionHandler<TreeItem>()
{
@Override
public void onSelection(SelectionEvent event()
{
if(event.getSelectedItem == someTreeItem)
{
//Something
}
}
});
Tree.addSelectionHandler(新的SelectionHandler()
{
@凌驾
选择时公共无效(SelectionEvent事件()
{
if(event.getSelectedItem==someTreeItem)
{
//某物
}
}
});
对于GWT的默认树
,特定树项
没有处理程序,整个树只有一个选择处理程序
:
tree.addSelectionHandler(new SelectionHandler<TreeItem>() {
@Override
public void onSelection(SelectionEvent<TreeItem> event) {
TreeItem item = event.getSelectedItem();
// expand the selected item
}
});
tree.addSelectionHandler(新的SelectionHandler(){
@凌驾
选举时公共无效(SelectionEvent事件){
TreeItem item=event.getSelectedItem();
//展开所选项目
}
});
然而,'s确实是为了你想做的事情而建立的,随着项目的扩展,懒洋洋地加载树,所以我就从这里开始。如果你有任何问题,请随意提问
// First create a new treeitem-class with a new method:
public class TreeItemAdv extends TreeItem {
protected void doSelectionAction() {
// TODO: The child should overwrite this method!
System.out.println("The child should overwrite this method!");
}
}
。。。
//定义您的树:
树=新树();
addSelectionHandler(新的SelectionHandler(){
@凌驾
选举时公共无效(SelectionEvent事件){
TreeItemAdv项=(TreeItemAdv)事件。getSelectedItem();
item.doSelectionAction();//执行特定于项的操作
}
});
//定义并添加您的项目:
TreeItemAdv ti1=新的TreeItemAdv(){
@凌驾
受保护的无效剂量选择(){
//托多:做些事情。
System.out.println(“1:我在这里。”);
}
};
ti1.setText(“第1项”);
附加项(ti1);
//及其他项目:
TreeItemAdv ti2=新的TreeItemAdv(){
@凌驾
受保护的无效剂量选择(){
//托多:做些事情。
System.out.println(“2:我在这里。”);
}
};
ti2.setText(“第2项”);
附加项(ti2);
...
我如何知道用户是否单击了TreeEz的根目录?当前事件。getSelectedItem()
返回对象,而不是TreeItem
。必须将其强制转换为TreeItem
:TreeItem=(TreeItem)事件。getSelectedItem();
。
...
// define your tree:
Tree tree = new Tree();
tree.addSelectionHandler(new SelectionHandler<TreeItem>() {
@Override
public void onSelection(SelectionEvent<TreeItem> event) {
TreeItemAdv item = (TreeItemAdv) event.getSelectedItem();
item.doSelectionAction(); // do item-specific stuff
}
});
// define and add your items:
TreeItemAdv ti1 = new TreeItemAdv() {
@Override
protected void doSelectionAction() {
// TODO: Do some stuff.
System.out.println("1: Here I am.");
}
};
ti1.setText("Item 1");
tree.addItem(ti1);
// and an other item:
TreeItemAdv ti2 = new TreeItemAdv() {
@Override
protected void doSelectionAction() {
// TODO: Do some stuff.
System.out.println("2: Here I am.");
}
};
ti2.setText("Item 2");
tree.addItem(ti2);
...