如何在onclick方法中重置标签上的所有内容

时间:2019-07-08 15:49:40

标签: java gwt onclick label

我正在打印多个标签,单击时我要更改单击的标签颜色。我想在单击另一个标签时重置单击的标签颜色。

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);

1 个答案:

答案 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);
    }
});