- java.lang.Object
-
- javafx.scene.layout.BorderImage
-
public class BorderImage extends Object
定义描述如何将图像呈现为某个区域的边框的属性。 BorderImage必须指定一个图像(不能为null)。repeatX
和repeatY
属性定义了如何在每个方向上重复图像。slices
属性定义了如何分割图像,以便可以在区域上展开,而widths
定义区域中填充边框图像的区域。 最后,outsets
界定边界从边界边缘向外延伸的距离。 BorderImage的外部事件有助于边界的外界,从而有助于区域的界限。因为BorderImage是不可变的,它可以安全地用在任何缓存中,并且可以安全地在多个区域之间重用。
当应用于具有定义形状的区域时,将忽略BorderImage。
- 从以下版本开始:
- JavaFX 8.0
-
-
构造方法摘要
构造方法 Constructor 描述 BorderImage(Image image, BorderWidths widths, Insets insets, BorderWidths slices, boolean filled, BorderRepeat repeatX, BorderRepeat repeatY)
创建一个新的BorderImage。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object o)
指示一些其他对象是否等于此。Image
getImage()
要使用的图像。Insets
getInsets()
BorderImage的内容定义边框相对于区域边缘的位置。BorderRepeat
getRepeatX()
以什么方式(如果有的话)表示边框图像将沿着该区域的x轴重复。BorderRepeat
getRepeatY()
以什么方式(如果有的话)表示边框图像将沿着该区域的y轴重复。BorderWidths
getSlices()
定义图像的切片。BorderWidths
getWidths()
每侧边框的宽度。int
hashCode()
返回对象的哈希码值。boolean
isFilled()
指定是否应绘制中心补丁(由左,右,上,下切片定义)。
-
-
-
构造方法详细信息
-
BorderImage
public BorderImage(Image image, BorderWidths widths, Insets insets, BorderWidths slices, boolean filled, BorderRepeat repeatX, BorderRepeat repeatY)
创建一个新的BorderImage。 必须指定映像或抛出NullPointerException。- 参数
-
image
- 要使用的图像。 这不能为空。 -
widths
- 每个维度中边框的宽度。 一个空值导致Insets.EMPTY。 -
insets
- 相对于该地区放置边框的插图。 一个空值导致Insets.EMPTY。 -
slices
- 图像的切片。 如果为null,则默认为BorderImageSlices.DEFAULT -
filled
- 指示是否应绘制中心补丁的标志 -
repeatX
- x方向上边框图像的重复值。 如果为空,则默认为STRETCH。 -
repeatY
- y方向上边框图像的重复值。 如果为null,则默认为与repeatX相同的值。
-
-
方法详细信息
-
getImage
public final Image getImage()
要使用的图像。 这将永远不会为空。 如果此图像无法加载,则会在渲染时跳过整个BorderImage,并且不会对任何边界或其他计算做出贡献。- 结果
- 要使用的图像
-
getRepeatX
public final BorderRepeat getRepeatX()
以什么方式(如果有的话)表示边框图像将沿着该区域的x轴重复。 如果未指定,则默认值为STRETCH。- 结果
- BorderRepeat,指示边框图像是否沿着该区域的x轴重复
-
getRepeatY
public final BorderRepeat getRepeatY()
以什么方式(如果有的话)表示边框图像将沿着该区域的y轴重复。 如果未指定,则默认值为STRETCH。- 结果
- BorderRepeat,指示边框图像是否沿着该区域的y轴重复
-
getWidths
public final BorderWidths getWidths()
- 结果
- 每边边框的BorderWidths
-
getSlices
public final BorderWidths getSlices()
定义图像的切片。 JavaFX使用4切片方案,其中切片将图像分成9个补丁。 左上角的修补程序定义了边框的左上角。 顶部修补程序定义了顶部边框,并且构成该修补程序的图像被水平拉伸(或为repeatX定义的任何内容)以填充所有所需的空间。 右上角的修补程序在右上角,右侧的修补程序是垂直的(或任何为repeatY定义的),以填充所有必需的空间。 等等。 在每个维度中,中心补丁被拉伸(或者针对repeatX,repeatY定义)。 默认情况下,中心被省略(即:未示出),虽然一个BorderImageSlices值true
为filled
属性将导致要绘制的中心。 此属性的默认值将导致BorderImageSlices.DEFAULT,它是100%的边框图像片段- 结果
- 定义图像切片的BorderWidths
- 另请参见:
- border-image-slice
-
isFilled
public final boolean isFilled()
指定是否应绘制中心补丁(由左,右,上,下切片定义)。- 结果
- 如果中间补丁应该绘制,则为true
-
getInsets
public final Insets getInsets()
BorderImage的内容定义边框相对于区域边缘的位置。 该值永远不会为空。- 结果
- BorderImage的插图
-
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
- 与之比较的参考对象。 - 结果
-
如果此对象与obj参数相同,
true
; 否则为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应用程序时多次在同一个对象上调用该对象,则
-
-