- java.lang.Object
-
- javafx.css.Selector
-
- javafx.css.CompoundSelector
-
public final class CompoundSelector extends Selector
根据CSS标准行事的复合选择器。 选择器是由一个或一个以上的Selectors,与阵列沿着CompoundSelectorRelationships指示在每个阶段所需要的关系。 一定要少于Combinator比选择器少。例如,当所有以下条件成立时,参数
[selector1, selector2, selector3]和[Combinator.CHILD, Combinator.DESCENDANT]将匹配组件:- 组件本身与selector3匹配
- 该组件具有与selector2匹配的祖先
- 在步骤2匹配的祖先是由selector1匹配的组件的直接CHILD
selector1 > selector2 selector3。 selector1和selector2之间的大于(>)指定一个直接CHILD,而selector2和selector3之间的空格对应于Combinator.DESCENDANT。- 从以下版本开始:
- 9
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 booleanapplies(Styleable styleable)booleanapplies(Styleable styleable, Set<PseudoClass>[] triggerStates, int depth)MatchcreateMatch()booleanequals(Object obj)指示一些其他对象是否等于此。List<SimpleSelector>getSelectors()组合此复合选择器的选择器inthashCode()返回对象的哈希码值。booleanstateMatches(Styleable styleable, Set<PseudoClass> states)确定节点及其父节点的当前状态是否与此选择器定义的伪类(如果有)匹配。StringtoString()返回对象的字符串表示形式。protected voidwriteBinary(DataOutputStream os, StyleConverter.StringStore stringStore)-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.css.Selector
createSelector, getOrdinal, getRule, setOrdinal
-
-
-
-
方法详细信息
-
getSelectors
public List<SimpleSelector> getSelectors()
组合此复合选择器的选择器- 结果
- 不可变列表<SimpleSelector>
-
createMatch
public Match createMatch()
- Specified by:
-
createMatch在Selector
-
applies
public boolean applies(Styleable styleable, Set<PseudoClass>[] triggerStates, int depth)
-
stateMatches
public boolean stateMatches(Styleable styleable, Set<PseudoClass> states)
描述从类复制:Selector确定节点及其父节点的当前状态是否与此选择器定义的伪类(如果有)匹配。- Specified by:
-
stateMatches在Selector - 参数
-
styleable- 风格 -
states- 状态 - 结果
-
true如果节点及其父节点的当前状态与此选择器定义的伪类匹配(如果有)
-
hashCode
public int hashCode()
说明从类别复制Object返回对象的哈希码值。 支持这种方法是为了哈希表的利益,如HashMap提供的那样 。hashCode的总合同是:- 只要在执行Java应用程序时多次在同一个对象上调用该方法,则
hashCode方法必须始终返回相同的整数,前提是修改了对象中equals比较中的信息。 该整数不需要从一个应用程序的执行到相同应用程序的另一个执行保持一致。 - 如果两个对象根据
equals(Object)方法相等,则在两个对象中的每个对象上调用hashCode方法必须产生相同的整数结果。 - 不要求如果两个对象根据
Object.equals(java.lang.Object)方法不相等,那么在两个对象中的每个对象上调用hashCode方法必须产生不同的整数结果。 但是,程序员应该意识到,为不等对象生成不同的整数结果可能会提高哈希表的性能。
尽可能合理实用,由类
Object定义的hashCode方法确实为不同对象返回不同的整数。 (在某个时间点,hashCode可能或可能不被实现为对象的存储器地址的某些功能。)- 重写:
-
hashCode在Object - 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
- 只要在执行Java应用程序时多次在同一个对象上调用该方法,则
-
equals
public boolean equals(Object obj)
描述从类复制:Object指示一些其他对象是否等于此。equals方法在非空对象引用上实现等价关系:- 自反性 :对于任何非空的参考值
x,x.equals(x)应该返回true。 - 它是对称的 :对于任何非空引用值
x和y,x.equals(y)应该返回true当且仅当y.equals(x)回报true。 - 传递性 :对于任何非空引用值
x,y,并z,如果x.equals(y)回报true和y.equals(z)回报true,然后x.equals(z)应该返回true。 - 它是一致的 :对于任何非空引用值
x和y,在多次调用x.equals(y)始终返回true或始终返回false,没有设置中使用的信息equals比较上的对象被修改。 - 对于任何非空的参考值
x,x.equals(null)应该返回false。
该
equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值x和y,当且仅当x和y引用相同对象(x == y具有值true)时,该方法返回true。请注意,无论何时覆盖此方法,通常需要覆盖
hashCode方法,以便维护hashCode方法的通用合同,该方法规定相等的对象必须具有相等的哈希码。- 重写:
-
equals在Object - 参数
-
obj- 与之比较的参考对象。 - 结果
-
true如果此对象与obj参数相同;false否则。 - 另请参见:
-
Object.hashCode(),HashMap
- 自反性 :对于任何非空的参考值
-
toString
public String toString()
描述从类:Object复制返回对象的字符串表示形式。 一般来说,toString方法返回一个字符串,“文本地表示”这个对象。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。该
toString类方法Object返回一个由类的名称,其中所述对象是其实例,该符号字符`的字符串@”,并且对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:getClass().getName() + '@' + Integer.toHexString(hashCode())
-
writeBinary
protected final void writeBinary(DataOutputStream os, StyleConverter.StringStore stringStore) throws IOException
- 重写:
-
writeBinary在Selector - 异常
-
IOException
-
-