Module  javafx.graphics
软件包  javafx.scene

Class Group

  • All Implemented Interfaces:
    StyleableEventTarget


    @DefaultProperty("children")
    public class Group
    extends Parent
    一个Group节点包含一个可观察的子节点列表,每当呈现该节点时,它们按顺序渲染。

    A Group将承担其子女的集体界限,不能直接调整。

    应用于Group任何转换,效果或状态将应用于该组的所有子项。 这种转变和效果不会被纳入本集团的布局范围,但是如果转换和效果直接针对本集团的子女,那么这些转换和效果将被纳入本集团的布局范围。

    默认情况下, Group将在布局过程中将其托管可调整大小的孩子“自动调整”为其首选大小,以确保“区域”和“控件”的状态发生变化。 如果应用程序需要禁用此自动调整大小的行为,那么应将autoSizeChildren设置为false并了解如果孩子的首选大小更改,则不会自动调整大小(因此请注意!)。

    组示例:

      import javafx.scene.*;
    import javafx.scene.paint.*;
    import javafx.scene.shape.*;
    import java.lang.Math;
    
    Group g = new Group();
    for (int i = 0; i < 5; i++) {
        Rectangle r = new Rectangle();
        r.setY(i * 20);
        r.setWidth(100);
        r.setHeight(10);
        r.setFill(Color.RED);
        g.getChildren().add(r);
    } 
    从以下版本开始:
    JavaFX 2.0
    • Property Detail

      • autoSizeChildren

        public final BooleanProperty autoSizeChildrenProperty
        控制此Group是否会在布局过程中自动将任何受管理的可调整大小的儿童调整为首选大小。 如果设置为false ,则应用程序负责设置此组可调整大小的子项的大小,否则这样的节点可能会以零宽度/高度结尾,并且将不可见。 该变量对不可调整大小的内容节点(Shape,Text等)没有影响。
        Default value:
        真正
        另请参见:
        isAutoSizeChildren()setAutoSizeChildren(boolean)
    • 构造方法详细信息

      • Group

        public Group​()
        构建一个组。
      • Group

        public Group​(Node... children)
        构建一个由儿童组成的小组。
        参数
        children - 儿童。
      • Group

        public Group​(Collection<Node> children)
        构建由给定的孩子组成的组。
        参数
        children - 小组的孩子
        异常
        NullPointerException - 如果指定的集合为空
        从以下版本开始:
        JavaFX 8.0
    • 方法详细信息

      • setAutoSizeChildren

        public final void setAutoSizeChildren​(boolean value)
        设置属性autoSizeChildren的值。
        Property description:
        控制此Group是否会在布局过程中自动将任何受管理的可调整大小的儿童调整为首选大小。 如果设置为false ,则应用程序负责设置此组可调整大小的子项的大小,否则这样的节点可能会以零宽度/高度结尾,并且将不可见。 该变量对不可调整大小的内容节点(Shape,Text等)没有影响。
        Default value:
        真正
      • isAutoSizeChildren

        public final boolean isAutoSizeChildren​()
        获取属性autoSizeChildren的值。
        Property description:
        控制此Group是否会在布局过程中自动将任何受管理的可调整大小的儿童调整为首选大小。 如果设置为false ,则应用程序负责设置此组可调整大小的子项的大小,否则这样的节点可能会以零宽度/高度结尾,并且将不可见。 该变量对不可调整大小的内容节点(Shape,Text等)没有影响。
        Default value:
        真正
      • autoSizeChildrenProperty

        public final BooleanProperty autoSizeChildrenProperty​()
        控制此Group是否会在布局过程中自动将任何受管理的可调整大小的儿童调整为首选大小。 如果设置为false ,则应用程序负责设置此组可调整大小的子项的大小,否则这样的节点可能会以零宽度/高度结尾,并且将不可见。 该变量对不可调整大小的内容节点(Shape,Text等)没有影响。
        Default value:
        真正
        另请参见:
        isAutoSizeChildren()setAutoSizeChildren(boolean)
      • prefWidth

        public double prefWidth​(double height)
        组将首选宽度定义为其布局边界的宽度,而宽度又是其所有子项的位置和宽度之和。 也就是说,首选宽度是它所在的宽度,因为不能调整组大小。 注意:由于autosize Group中的布局界限取决于要布局的组,所以如果需要,此调用将执行组的布局。
        重写:
        prefWidthParent
        参数
        height - Group忽略此参数
        结果
        布局边界宽度
        另请参见:
        Node.isResizable()Node.getContentBias()Node.autosize()
      • prefHeight

        public double prefHeight​(double width)
        组定义优选高度只是其布局界限的高度,反过来只是其所有子项的位置和高度的总和。 也就是说,首选高度是它所在的高度,因为一个组无法调整大小。 注意:由于autosize Group中的布局界限取决于要布局的组,所以如果需要,此调用将执行组的布局。
        重写:
        prefHeightParent
        参数
        width - Group忽略此参数
        结果
        布局界定高度
        另请参见:
        Node.getContentBias()Node.autosize()
      • minHeight

        public double minHeight​(double width)
        描述从类别复制: Node
        返回节点在布局计算中使用的最小高度。 如果节点可调整大小,则父节点不应该将其高度调整为小于该值的大小。 如果节点不可调整大小,返回其layoutBounds高度。

        调用此方法的布局代码应首先检查节点的内容偏差。 如果节点具有水平的内容偏置,则呼叫者应该传递最小高度应该基于的宽度值。 如果节点具有垂直或空的内容偏置,则调用者应该传入-1。

        具有水平内容偏置的节点子类应该符合宽度参数,不管是-1还是正值。 所有其他子类可以忽略width参数(这可能是-1)。

        如果节点的Node.maxHeight(double)低于此数字,则minHeight优先。 这意味着Node不应该调整大小低于minHeight

        重写:
        minHeightParent
        参数
        width - 如果最小高度取决于应该使用的宽度
        结果
        在布局期间节点应该调整大小的最小高度结果将不会是NaN,也不会是负数。
        另请参见:
        Node.isResizable()Node.getContentBias()
      • minWidth

        public double minWidth​(double height)
        描述从类别复制: Node
        返回节点在布局计算中使用的最小宽度。 如果节点可调整大小,则其父值不应该调整其小于此值的宽度。 如果节点不可调整,则返回其layoutBounds宽度。

        调用此方法的布局代码应首先检查节点的内容偏差。 如果节点具有垂直的内容偏置,则呼叫者应该传入最小宽度应该基于的高度值。 如果节点具有水平或空的内容偏置,则调用者应该传入-1。

        具有垂直内容偏置的节点子类应该尊重height参数,不管是-1还是正值。 所有其他子类可以忽略height参数(这可能是-1)。

        如果节点的Node.maxWidth(double)低于此数,则minWidth优先。 这意味着节点不应该被调整到低于minWidth

        重写:
        minWidthParent
        参数
        height - 如果最小宽度取决于应该使用的高度
        结果
        布局期间节点应该调整大小的最小宽度。 结果永远不会是NaN,也不会是负面的。
        另请参见:
        Node.isResizable()Node.getContentBias()
      • layoutChildren

        protected void layoutChildren​()
        组实现layoutChildren,以便每个小孩都调整为首选大小,如果小孩可调整大小。 不可调整大小的孩子被遗弃。 如果autoSizeChildren为false,则此方法中Group不执行任何操作。
        重写:
        layoutChildrenParent