- 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 方法 描述 boolean
applies(Styleable styleable)
boolean
applies(Styleable styleable, Set<PseudoClass>[] triggerStates, int depth)
Match
createMatch()
boolean
equals(Object obj)
指示一些其他对象是否等于此。List<SimpleSelector>
getSelectors()
组合此复合选择器的选择器int
hashCode()
返回对象的哈希码值。boolean
stateMatches(Styleable styleable, Set<PseudoClass> states)
确定节点及其父节点的当前状态是否与此选择器定义的伪类(如果有)匹配。String
toString()
返回对象的字符串表示形式。protected void
writeBinary(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
-
-