gpt4 book ai didi

css - 删除 styleClass 时 applyCss 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 21:41:22 24 4
gpt4 key购买 nike

我有一个 TextField 通过更改 styleClass 来设置样式,当它的值是有效/无效时,但有一个很大的问题。当值变为有效时,我仍然应该再次更改 TextField 以应用 styleClass。之后我尝试使用 applyCss() 方法,但它没有用:(。

    if(!valid){
field.getStyleClass().add("invalid-field");//Works excellent
} else {
field.getStyleClass().remove("invalid-field");//Doesn't work up to the time textProperty doesn't change once again
field.applyCss();

最佳答案

这些错误的一个常见原因是您可能不止一次添加了“无效字段”样式类。 (请记住,getStyleClass() 返回一个 List<String>,而不是一个 Set<String>。)所以你可能应该采取措施确保样式类只添加一次,或者在删除它时采取措施删除所有出现的地方。

我喜欢两者都做(我来自哪里,我们称之为“安全带和大括号方法”)。

ObservableList<String> styleClasses = field.getStyleClass();
if(!valid)
if( ! styleClass.contains("invalid-field")){
styleClass.add("invalid-field");
}
} else {
// remove all occurrences:
styleClass.removeAll(Collections.singleton("invalid-field"));
}

关于css - 删除 styleClass 时 applyCss 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300053/

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