gpt4 book ai didi

java - 如何更改点击时的标签颜色?

转载 作者:行者123 更新时间:2023-12-02 03:33:23 25 4
gpt4 key购买 nike

如果我尝试运行 for 循环直到 10,它会继续打印相同的标签 10 次。如果我改变直到 function.size ,它将打印函数次数。颜色仅在相同标签内发生变化,不会影响其他标签。我有变量是要打印在标签上的字符串,我应该如何将字符串分配给 ArrayList?最终列表标签 = new ArrayList();

                for(int k = 0; k <=1; k++) {
final Label label = new Label(FDTO.getFunctionName());

// final Label functionLabel = new Label(FDTO.getFunctionName());
label.addClickHandler(new ClickHandler() {

public void onClick(ClickEvent event) {

for(Label otherLabel : labels)
otherLabel.getElement().getStyle().setColor("black");
// functionLabel.getElement().getStyle().setColor("red");
label.getElement().getStyle().setColor("red");
checkChild(FDTO.getFunctionCode(), functions, qaDTO, val);
}
});

labels.add(label);


childPanel.add(label);
}

最佳答案

在您的 ClickHandler 中,您只需将所有其他标签的颜色设置回默认值(黑色?)。

otherLabel.getElement().getStyle().setColor("black");

如果有许多其他标签,您应该考虑将它们保存在列表中。请尝试这个小例子:

final List<Label> labels = new ArrayList<Label>();

for(int i = 0; i < 10; i++) {
final Label label = new Label("Hello " + i);
label.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// change all labels color back to default
for(Label otherLabel : labels)
otherLabel.getElement().getStyle().setColor("black");

// change current label color
label.getElement().getStyle().setColor("red");
}
});

// add to list
labels.add(label);

RootPanel.get().add(label);
}

关于java - 如何更改点击时的标签颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56873781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com