在我的应用程序中,我有一个由treeitems构建的树结构。
我想要做的是改变某些树项的背景,如果它们的userObject满足某些条件。我遇到的问题是当根树项目的背景发生变化时(仅根据在根级别的树项目上满足的条件对其进行测试),尽管我进入并删除了该树项目的所有子树项目也改变了它们的背景孩子们的样式表。
长话短说:我希望它只改变树项本身的背景,而不是它的子项。
代码:
if(item.getUserObject() != null && ((Device)item.getUserObject()).getDeviceType() == type)
{
item.setStyleName("labelHighlight");
}
else
{
item.removeStyleName("labelHighlight");
}
for(int i = 0; i < item.getChildCount(); i++)
{
highlightNodes(type, item.getChild(i));
}
答案 0 :(得分:0)
使用窗口小部件而不是直接设置treeItem样式。像这样,您可以更改窗口小部件的背景而不是所有树项的背景