我想在树中只加粗父项,并保持子项正常大小。
我尝试以这种方式使用css,但它不起作用:
.gwt-Tree{
font-weight: bold;
}
.gwt-TreeItem {
font-weight: normal;
}
.gwt-Tree .gwt-TreeItem-selected {
font-weight: normal;
}
有没有办法到达那里?
提前谢谢
已编辑 - Java代码:
String[] composers = new String[]{"Item 1","Item 2","Item 3"};
Resources treeResource = GWT.create(TreeResources.class);
Tree staticTree = new Tree(treeResource);
TreeItem item1 = staticTree.addTextItem(composers[0]);
TreeItem item2 = staticTree.addTextItem(composers[1]);
// add sub items
addItemSection(item1, "item 1 - 1",new String[]{});
addItemSection(item1, "item 1 - 2", new String[]{});
addItemSection(item2, "item 2 - 1",new String[]{});
addItemSection(item2, "item 2 - 2", new String[]{});
addItemSection(item2, "item 2 - 3", new String[]{});
TreeItem item = new TreeItem();
item1.addItem(item);
item2.addItem(item);
Tree t = new Tree();
t.addItem(item1);
t.addItem(item2);
private void addItemSection(TreeItem parent, String label, String[] composerWorks)
{
TreeItem section = parent.addTextItem(label);
for (String work : composerWorks) {
section.addTextItem(work);
}
}
结果:
第1项
项目1 - 1
项目1 - 2
第2项
项目2 - 1
项目2 - 2
项目2 - 3
但就我而言,一切都是粗体:/
答案 0 :(得分:0)
对我来说已经有一段时间了,但我记得你可以在java代码中为CSS对象添加CSS样式的HTML标签。
答案 1 :(得分:0)
一种方法是这样的:
.root {font-size: 12; font-weight: bold;}
.leaf {font-size: 12; font-weight: normal;}
TreeItem root = new TreeItem("MyRootDescr");
root.addStyleName("root");
TreeItem item = new TreeItem("MyLeafDescr");
item.addStyleName("leaf");
答案 2 :(得分:0)
这可能看起来不太优雅,但它确实有效。设置父项样式后迭代子项并将其样式设置为基本样式(在您的情况下为纯文本)。
你的CSS文件中的:
.styleTreeItemParent {
font-weight: bold;
}
.styleTreeItemChild {
font-weight: normal;
}
在你的GWT类中:使用父treeItem作为参数添加方法styleParent。
private void styleParent(TreeItem item) {
int nC=item.getChildCount();
item.setStyleName("styleTreeItemParent");
for(int i=0;i<nC;i++) {
item.getChild(i).setStyleName("styleTreeItemChild");
}
}