這裏是我的問題:更改樹節點的字體顏色
我用一棵樹來呈現的數據結構和我也有,讓樹的兩個物體之間的額外信息(沒有特別喜歡的對象列表由樹結構)。我想要做的是突出顯示列表中對象選擇所涉及的樹的兩個元素。所以我想改變列表中選擇的對象所涉及的樹節點的字體顏色。
我試了幾件事。其中兩個是使用ValueProvider,它的getValue方法用css返回值,但它實際上將css顯示爲文本。在這個例子中,我改變了Tree by Tree,但結果稍微一樣。下面是該解決方案的代碼:
submissionTree = new Tree<SubmissionMenuData, SafeHtml>(submissionTreeStore, new ValueProvider<SubmissionMenuData, SafeHtml>() {
@Override
public SafeHtml getValue(SubmissionMenuData object) {
if (object.isActiveLink()){
return SafeHtmlUtils.fromTrustedString("<span style='color:blue;'>"+object.getValue()+"</span>");
}else{
return SafeHtmlUtils.fromTrustedString(object.getValue());
}
}
@Override
public void setValue(SubmissionMenuData object, SafeHtml value) {
// ... not relevant here
}
@Override
public String getPath() {
return "value";
}
});
我的第二個想法是使用這兩種方法之一,但他們都沒有工作(沒有實際發生):
view.getSubmissionTree().getView().getElement(elementToChangeColor).getStyle().setColor("blue");
view.getSubmissionTree().getView().getElement(elementToChangeColor).addClassName("blue-font");
然而,即使它不是我想要做的以下方法的工作。
view.getSubmissionTree().getView().getElement(elementToChangeColor).getStyle().setBackgroundColor("blue");
當然,謝謝。我沒有想過要爲此改變樹型。 – RadASM