我正在打印多个标签,单击时我要更改单击的标签颜色。我想在单击另一个标签时重置单击的标签颜色。
final Label functionLabel = new Label(FDTO.getFunctionName());
functionLabel.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
functionLabel.getElement().getStyle().setColor("red");
// checkChild(FDTO.getFunctionCode(), functions, qaDTO, val);
}
});
childPanel.add(functionLabel);
答案 0 :(得分:1)
与RadioButton
可以组合在一起的情况不同,Label
是独立的元素,没有开箱即用的方式来做您想要的事情。
最直接的方法是从该标签的onClick
方法中手动更改每个其他标签的颜色,或者一一遍地或遍历所有保留它们的列表/数组。< br />
类似于:
List<Label> myLabels = Arrays.asList(functionLabel, errorLabel, someOtherLabel);
//...
functionLabel.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
for (Label l : myLabels) {
l.getElement().getStyle().setColor("black");
}
functionLabel.getElement().getStyle().setColor("red");
// checkChild(FDTO.getFunctionCode(), functions, qaDTO, val);
}
});