- java.lang.Object
-
- javafx.scene.layout.Border
-
public final class Border extends Object
边界Region
。 边框是一个不可变的对象,它封装了渲染区域边框所需的整个数据集。 因为这个类是不可变的,你可以在许多不同的地区自由地重用同一个边框。 请参阅JavaFX CSS Reference Guide有关为区域设置边框的CSS规则的完整说明。每个边界由
strokes
和/或images
组成 。 这两个列表都不会为空,但是两者都可能为空。 渲染时,如果没有指定图像,或者没有图像成功加载,则所有笔画都将按顺序呈现。 如果任何图像被指定并成功加载,则不会绘制任何笔画,尽管它们仍然会为边框的insets
和outsets
做出贡献。边界的
outsets
定义了一个区域的绘图区域的任何扩展,这对于所有边框绘图和定位都是必要的。 这些外观由本边界指定的BorderStroke
和BorderImage
定义。 Outsets是严格非负的。getInsets()
用于定义所有边框的最内边缘。 它也始终是非负的。 该地区使用Background
和边界和Region's padding
的插图来确定区域insets
,该区域定义了该区域的任何儿童的内容区域。 用背景和本区域的宽度和高度的outsets在一起的边界的outsets限定的区域(这反过来又有助于的几何边界layoutBounds
,boundsInLocal
,和boundsInParent
)。如果您想要使用图像对区域进行蒙皮,常常使用边框,通常与9贴片缩放技术结合使用。 在这种情况下,您还可以指定仅在由于某种原因导致图像加载失败时才使用的触摸边框。
- 从以下版本开始:
- JavaFX 8.0
-
-
构造方法摘要
构造方法 Constructor 描述 Border(List<BorderStroke> strokes, List<BorderImage> images)
通过提供BorderStrokes和BorderImages列表创建一个新的边框。Border(BorderImage... images)
通过提供一个BorderImages数组创建一个新的边框。Border(BorderStroke... strokes)
通过提供一个BorderStrokes数组创建一个新的边框。Border(BorderStroke[] strokes, BorderImage[] images)
通过提供一系列BorderStrokes和BorderImages创建一个新的边框。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object o)
指示一些其他对象是否等于此。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
List<BorderImage>
getImages()
BorderImages的列表,它们一起定义要使用的图像,而不是此边框的笔画。Insets
getInsets()
插图定义从区域边缘到边框最里边缘的距离,如果该距离是非负的。Insets
getOutsets()
边框外部定义要绘制的边框的最外边缘。List<BorderStroke>
getStrokes()
BorderStrokes列表,它们一起定义了此边框的划线部分。int
hashCode()
返回对象的哈希码值。boolean
isEmpty()
获取边框是否为空。
-
-
-
字段详细信息
-
EMPTY
public static final Border EMPTY
空的边框,使用而不是null。
-
-
构造方法详细信息
-
Border
public Border(BorderStroke... strokes)
- 参数
-
strokes
- 笔画。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的笔画列表中。 空数组变为空列表。 如果指定了笔画和图像,并且如果指定的任何一个图像成功加载,则不显示笔画。 以这种方式,在图像加载失败的情况下,笔画可以被定义为回退。
-
Border
public Border(BorderImage... images)
- 参数
-
images
- 图像。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的图像列表中。 空数组变为空列表。
-
Border
public Border(List<BorderStroke> strokes, List<BorderImage> images)
通过提供BorderStrokes和BorderImages列表创建一个新的边框。 这些列表可能为空,或者可能包含空值。 任何空值将被忽略,不会有助于strokes
或者images
,outsets
,或insets
。- 参数
-
strokes
- 笔画。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的笔画列表中。 空数组变为空列表。 如果指定了笔画和图像,并且如果指定的任何一个图像成功加载,则不显示笔画。 以这种方式,在图像加载失败的情况下,笔画可以被定义为回退。 -
images
- 图像。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的图像列表中。 空数组变为空列表。
-
Border
public Border(BorderStroke[] strokes, BorderImage[] images)
通过提供一系列BorderStrokes和BorderImages创建一个新的边框。 这些数组可能为空,或者可能包含空值。 任何空值将被忽略,不会有助于strokes
或者images
,outsets
,或insets
。- 参数
-
strokes
- 笔画。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的笔画列表中。 空数组变为空列表。 如果指定了笔画和图像,并且如果指定的任何一个图像成功加载,则不显示笔画。 以这种方式,在图像加载失败的情况下,笔画可以被定义为回退。 -
images
- 图像。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的图像列表中。 空数组变为空列表。
-
-
方法详细信息
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- 结果
- 与此类相关联的CssMetaData可能包括其类的CssMetaData。
-
getStrokes
public final List<BorderStroke> getStrokes()
BorderStrokes列表,它们一起定义了此边框的划线部分。 该列表是不可修改的和不可变的。 它永远不会为空。 它将永远不会包含任何null元素。- 结果
- BorderStrokes的列表,它们一起定义了该边框的抚摸部分
-
getImages
public final List<BorderImage> getImages()
BorderImages的列表,它们一起定义要使用的图像,而不是此边框的笔画。 如果指定了此列表,并且其中至少有一个映像成功加载,则不会绘制任何指定的strokes
。 如果此列表为空或加载中没有图像成功,则绘制任何指定的strokes
。该列表是不可修改的和不可变的。 它永远不会为空。 它将永远不会包含任何null元素。
- 结果
- BorderImages的列表,它们一起定义要使用的图像,而不是此边框的笔画
-
getOutsets
public final Insets getOutsets()
边框外部定义要绘制的边框的最外边缘。 这些外来人物的价值观是严格非负的。- 结果
- 边框的外部定义要绘制的边框的最外边缘
-
getInsets
public final Insets getInsets()
插图定义从区域边缘到边框最里边缘的距离,如果该距离是非负的。 这些外来人物的价值观是严格非负的。- 结果
- 插图定义了从区域边缘到边框最内边缘的距离
-
isEmpty
public final boolean isEmpty()
获取边框是否为空。 如果没有笔画或图像,则为空。- 结果
- 如果边框为空,则为true,否则为false。
-
equals
public boolean equals(Object o)
指示一些其他对象是否等于此。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
- 参数
-
o
- 与之比较的参考对象。 - 结果
-
true
如果此对象与obj参数相同; 否则为false
。 - 另请参见:
-
Object.hashCode()
,HashMap
- 自反性 :对于任何非空的参考值
-
hashCode
public int hashCode()
返回对象的哈希码值。 支持这种方法有利于哈希表,如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应用程序时多次调用同一个对象,
-
-