删除GWT Tree的根项旁边的+(加号)

时间:2010-08-22 22:12:51

标签: css gwt

我想知道是否有人知道是否有可能删除GWT树中根项目旁边出现的'+'符号?我没有看到CSS规则来处理它。可以用一个GIF代替+号吗?

(以下GWT手册中的改编代码,用于说明目的)

TreeItem root = new TreeItem(“root”); //希望从此项旁边删除+符号

  root.addItem("item0");
  root.addItem("item1");
  root.addItem("item2");
  root.setState(true, true);
  // Add a CheckBox to the tree
  TreeItem item = new TreeItem(new CheckBox("item3"));
  root.addItem(item);

  Tree t = new Tree();
  t.addItem(root);

  // Add it to the root panel.
  RootPanel.get().add(t);

2 个答案:

答案 0 :(得分:7)

CSS样式根本不适用于此。相反,它需要为树使用不同的构造函数。如果将spacer.png设置为1x1透明PNG,它将删除+符号。这是我使用的完整代码。

正确的方法如下:

public interface MyResources extends ClientBundle {
      public static final MyResources INSTANCE =  GWT.create(MyResources.class);

      @Source("spacer.png")
      public ImageResource leaf();


    }


public class TreeImagesExample implements Tree.Resources
{


    @Override
    public ImageResource treeClosed() {
        // TODO Auto-generated method stub
        return MyResources.INSTANCE.leaf();
    }

    @Override
    public ImageResource treeLeaf() {
        // TODO Auto-generated method stub
        return MyResources.INSTANCE.leaf();
    }

    @Override
    public ImageResource treeOpen() {
        // TODO Auto-generated method stub
        return MyResources.INSTANCE.leaf();
    }

} 

Main Function:
     TreeImagesExample tx= new TreeImagesExample();
                Tree t = new Tree(tx);
                t.addItem(root);

为了使其正常工作,我们当然还需要一个SelectionHandler,以便我们可以在树项上注册树点击,而不是(现在不存在的)+符号。

答案 1 :(得分:0)

您必须使用CSS来覆盖加号图标图像,该图标被设置为带有左边距的项目的背景图像,以便将文本移出。

根项目没有自己的特定样式,因此您必须自己在树项目上添加样式名称(即CSS类),并在CSS中自行删除背景图像。