applyCss不';删除styleClass时不起作用
我有一个applyCss不';删除styleClass时不起作用,css,javafx,textfield,javafx-8,Css,Javafx,Textfield,Javafx 8,我有一个TextField,当它的值有效/无效时,通过更改styleClass设置样式,但存在一个很大的问题。当值变为有效值时,我仍应再次更改文本字段,以应用样式类。之后我尝试了applyCss()方法,但没有成功:( 这些错误的一个常见原因是您可能多次添加了“invalid field”样式类(请记住,getStyleClass()返回一个列表,而不是集),因此您可能应该采取措施确保只添加一次样式类,或者在删除样式类时采取措施删除所有出现的内容 我喜欢两者兼而有之(在我的家乡,我们称之为“腰带
TextField
,当它的值有效/无效时,通过更改styleClass
设置样式,但存在一个很大的问题。当值变为有效值时,我仍应再次更改文本字段
,以应用样式类
。之后我尝试了applyCss()
方法,但没有成功:(
这些错误的一个常见原因是您可能多次添加了“invalid field”样式类(请记住,
getStyleClass()
返回一个列表,而不是集),因此您可能应该采取措施确保只添加一次样式类,或者在删除样式类时采取措施删除所有出现的内容
我喜欢两者兼而有之(在我的家乡,我们称之为“腰带和背带方法”)
observeListStyleClass=field.getStyleClass();
如果(!有效)
如果(!styleClass.contains(“无效字段”)){
添加(“无效字段”);
}
}否则{
//删除所有引用:
styleClass.removeAll(Collections.singleton(“无效字段”);
}
这些错误的一个常见原因是您可能多次添加了“无效字段”样式类。(请记住,getStyleClass()
返回的是列表,而不是集合
)因此,您可能应该采取措施确保仅添加一次样式类,或者在删除样式类时采取措施删除所有引用
我喜欢两者兼而有之(在我的家乡,我们称之为“腰带和背带方法”)
observeListStyleClass=field.getStyleClass();
如果(!有效)
如果(!styleClass.contains(“无效字段”)){
添加(“无效字段”);
}
}否则{
//删除所有引用:
styleClass.removeAll(Collections.singleton(“无效字段”);
}
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();
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"));
}