Module  javafx.graphics
软件包  javafx.scene.layout

Class BorderImage



  • public class BorderImage
    extends Object
    定义描述如何将图像呈现为某个区域的边框的属性。 BorderImage必须指定一个图像(不能为null)。 repeatXrepeatY属性定义了如何在每个方向上重复图像。 slices属性定义了如何分割图像,以便可以在区域上展开,而widths定义区域中填充边框图像的区域。 最后, outsets界定边界从边界边缘向外延伸的距离。 BorderImage的外部事件有助于边界的外界,从而有助于区域的界限。

    因为BorderImage是不可变的,它可以安全地用在任何缓存中,并且可以安全地在多个区域之间重用。

    当应用于具有定义形状的区域时,将忽略BorderImage。

    从以下版本开始:
    JavaFX 8.0
    • 构造方法详细信息

      • 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了解更多详细信息。 如果为空,则默认为1像素宽。
        结果
        每边边框的BorderWidths
      • getSlices

        public final BorderWidths getSlices​()
        定义图像的切片。 JavaFX使用4切片方案,其中切片将图像分成9个补丁。 左上角的修补程序定义了边框的左上角。 顶部修补程序定义了顶部边框,并且构成该修补程序的图像被水平拉伸(或为repeatX定义的任何内容)以填充所有所需的空间。 右上角的修补程序在右上角,右侧的修补程序是垂直的(或任何为repeatY定义的),以填充所有必需的空间。 等等。 在每个维度中,中心补丁被拉伸(或者针对repeatX,repeatY定义)。 默认情况下,中心被省略(即:未示出),虽然一个BorderImageSlices值truefilled属性将导致要绘制的中心。 此属性的默认值将导致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方法在非空对象引用上实现等价关系:

        • 自反性 :对于任何非空的参考值xx.equals(x)应该返回true
        • 它是对称的 :对于任何非空引用值xyx.equals(y)应该返回true当且仅当y.equals(x)回报true
        • 传递性 :对于任何非空引用值xy ,并z ,如果x.equals(y)回报truey.equals(z)回报true ,然后x.equals(z)应该返回true
        • 它是一致的 :对于任何非空引用值xy ,在多次调用x.equals(y)始终返回true或始终返回false ,没有设置中使用的信息equals比较上的对象被修改。
        • 对于任何非空的参考值xx.equals(null)应该返回false

        equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空参考值xy ,当且仅当xy引用相同对象( x == y具有值true )时,该方法返回true

        请注意,无论何时覆盖该方法,通常需要覆盖hashCode方法,以便维护hashCode方法的通用合同,该方法规定相等的对象必须具有相等的哈希码。

        重写:
        equalsObject
        参数
        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可能或可能不被实现为对象的存储器地址的某些功能。)

        重写:
        hashCodeObject
        结果
        该对象的哈希码值。
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)