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

Class Border



  • public final class Border
    extends Object
    边界Region 边框是一个不可变的对象,它封装了渲染区域边框所需的整个数据集。 因为这个类是不可变的,你可以在许多不同的地区自由地重用同一个边框。 请参阅JavaFX CSS Reference Guide有关为区域设置边框的CSS规则的完整说明。

    每个边界由strokes和/或images组成 这两个列表都不会为空,但是两者都可能为空。 渲染时,如果没有指定图像,或者没有图像成功加载,则所有笔画都将按顺序呈现。 如果任何图像被指定并成功加载,则不会绘制任何笔画,尽管它们仍然会为边框的insetsoutsets做出贡献。

    边界的outsets定义了一个区域的绘图区域的任何扩展,这对于所有边框绘图和定位都是必要的。 这些外观由本边界指定的BorderStrokeBorderImage定义。 Outsets是严格非负的。

    getInsets()用于定义所有边框的最内边缘。 它也始终是非负的。 该地区使用Background和边界和Region's padding的插图来确定区域insets ,该区域定义了该区域的任何儿童的内容区域。 用背景和本区域的宽度和高度的outsets在一起的边界的outsets限定的区域(这反过来又有助于的几何边界layoutBoundsboundsInLocal ,和boundsInParent )。

    如果您想要使用图像对区域进行蒙皮,常常使用边框,通常与9贴片缩放技术结合使用。 在这种情况下,您还可以指定仅在由于某种原因导致图像加载失败时才使用的触摸边框。

    从以下版本开始:
    JavaFX 8.0
    • 字段详细信息

      • EMPTY

        public static final Border EMPTY
        空的边框,使用而不是null。
    • 构造方法详细信息

      • Border

        public Border​(BorderStroke... strokes)
        通过提供一个BorderStrokes数组创建一个新的边框。 该数组可能为空,或者可能包含空值。 任何空值将被忽略,不会对strokesoutsetsinsets做出贡献。
        参数
        strokes - 笔画。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的笔画列表中。 空数组变为空列表。 如果指定了笔画和图像,并且如果指定的任何一个图像成功加载,则不显示笔画。 以这种方式,在图像加载失败的情况下,笔画可以被定义为回退。
      • Border

        public Border​(BorderImage... images)
        通过提供一个BorderImages数组创建一个新的边框。 该数组可能为空,或者可能包含空值。 任何空值都将被忽略,不会对imagesoutsetsinsets做出贡献。
        参数
        images - 图像。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的图像列表中。 空数组变为空列表。
      • Border

        public Border​(List<BorderStroke> strokes,
                      List<BorderImage> images)
        通过提供BorderStrokes和BorderImages列表创建一个新的边框。 这些列表可能为空,或者可能包含空值。 任何空值将被忽略,不会有助于strokes或者imagesoutsets ,或insets
        参数
        strokes - 笔画。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的笔画列表中。 空数组变为空列表。 如果指定了笔画和图像,并且如果指定的任何一个图像成功加载,则不显示笔画。 以这种方式,在图像加载失败的情况下,笔画可以被定义为回退。
        images - 图像。 这可能为null,并且可能包含null。 任何包含的空值被过滤掉,不包括在最终的图像列表中。 空数组变为空列表。
      • Border

        public Border​(BorderStroke[] strokes,
                      BorderImage[] images)
        通过提供一系列BorderStrokes和BorderImages创建一个新的边框。 这些数组可能为空,或者可能包含空值。 任何空值将被忽略,不会有助于strokes或者imagesoutsets ,或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方法在非空对象引用上实现等价关系:

        • 自反性 :对于任何非空的参考值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 - 与之比较的参考对象。
        结果
        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可能或可能不被实现为对象的存储器地址的某些功能。)

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