如何确定是否在 javafx 中设置了 PseudoClass

How to determine if a PseudoClass is set in javafx

我环顾四周,但没有找到任何符合我要求的东西。作为表单上用户输入数据验证的一部分,我使用 PseudoClass 更改格式以直观地突出显示必填字段。我想在写入文件之前对该数据做最后一次检查,并认为 PseudoClass 设置是一个很好的方法。

private static final PseudoClass errorClass = PseudoClass.getPseudoClass("error");
segmentFile.pseudoClassStateChanged(errorClass, true); 

我试过了

segmentFile.getPseudoClassStates();

但是 return 要么是一个空列表,要么是一个包含 "error" 的列表。我希望得到一个布尔值 return.

But that just returns either a null list or a list that contains "error".

这个说法是错误的。 getPseudoClassStates returns一个ObservableSet<PseudoClass>.

无论如何 Collection 提供了一个 contains 方法来检查其中是否包含特定元素。

在这种情况下:

boolean hasError = segmentFile.getPseudoClassStates().contains(errorClass);