有没有人有我的问题的解决方案?我需要更多图标来显示我的Tree组件中的项目。
图标可用于传达项目的节点类型,但我需要表示其状态或其他属性。
如果Tree有像addItemIcon或addItemOverlayIcon这样的方法,这将是理想的。
感谢您的建议。Vaadin树:覆盖或更多的图标
1
A
回答
1
您可以为项目设置图标:
Tree tree = new Tree();
tree.addItem("MyItem");
tree.setItemIcon("MyItem", FontAwesome.ADJUST);
如果没有足够的图标FontAwesome你总是可以映射你自己或其他图标集(如资源)。
内嵌添加更多图标的一种方法是添加ItemStyleGenerator: 您可以在哪里引用itemId,您希望在其中添加CSS样式(放入类属性)。
tree.setItemStyleGenerator(new ItemStyleGenerator()
{
@Override
public String getStyle(Tree source, Object itemId)
{
return " fa fa-road";
}
});
然后,你必须用自己的CSS样式化它(图字体图标类选择和使用大小和颜色理想的CSS属性),它看起来应该是这样的:
.fa .fa-road span:BEFORE{
font-family: FontAwesome;
content: '\f018';
}
0
Beeing受zigc启发,我尝试了另一种解决方案。只需设置
.v-tree-node-MyTree{font-family: FontAwesome, Arial}
然后我可以包括从FontAwesome特殊字符直接插入字幕文本,在开始的时候,在中间的结束或anywehere。不支持(不包含在FontAwesome中)字符以第二种字体显示。
与开头两个图标或标题的例子:
int codePoint[]={FontAwesome.HOME.getCodepoint(),FontAwesome.ROAD.getCodepoint()};
tree.setItemCaption(itemId, new String(codePoint,0,2)+nodeName);
相关问题
- 1. 无法更改树图标Vaadin
- 2. Tkinter标签覆盖:更新或刷新?
- 3. 覆盖或覆盖
- 4. 覆盖多个目录的git子树
- 5. MVC5:如何覆盖或更改特定视图的标题?
- 6. writeChan覆盖或最多
- 7. 覆盖图上的标签?
- 8. 不能覆盖Vaadin ComboBox的getValue()方法
- 9. 在Vaadin中滚动图片时的覆盖图加载项
- 10. 更新地图覆盖图
- 11. 在gxt树面板覆盖图像
- 12. 多页面覆盖更新
- 13. R:覆盖图上的覆盖图
- 14. Chrome图标覆盖问题
- 15. 覆盖鼠标图片
- 16. COM DLL - 覆盖图标
- 17. 图标覆盖在Delphi IDE
- 18. 实施覆盖图标?
- 19. 覆盖多个图像
- 20. 覆盖多个PNG图像
- 21. 快速树莓覆盖
- 22. 覆盖图像覆盖自定义Google Map Web中的标记
- 23. 图片或图像覆盖Java
- 24. 由视图覆盖(或半覆盖)时,UIButton被禁用
- 25. 谷歌地图覆盖鼠标光标
- 26. 奇怪的图标覆盖的Visual Studio
- 27. 多态/覆盖
- 28. 在C中创建的位图文件中覆盖2个或更多形状?
- 29. 交互式地图覆盖鼠标覆盖
- 30. 引导图像悬停覆盖图标
我可以用一个图标,但问题是:如何将两个或多个图标添加到一个树项目。旁边的每一个(标题之前)或使用透明度覆盖在同一个地方。 – Hink 2014-10-09 12:30:12
谢谢,这是足够的解决方案。另外它可以通过颜色来丰富。 – Hink 2014-10-10 22:47:40