我正在打印多个标签,单击后我将更改单击的标签颜色。我想在单击另一个标签时重置单击的标签颜色。
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);
最佳答案
与可以组合在一起的 RadioButton
不同,Label
是独立的元素,并且没有开箱即用的方法来执行您想要的操作.
最直接的方法是从该标签的 onClick 方法中手动更改每个其他标签的颜色,可以一一更改,也可以迭代保存它们的某个列表/数组全部。
大致如下:
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);
}
});
关于java - 如何在 onclick 方法中重置标签上的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56938505/