我想知道是否有人知道是否有可能删除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);
答案 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中自行删除背景图像。