AnchorPane lays out each managed child regardless of the child's visible property value; unmanaged children are ignored for all layout calculations.
AnchorPanes may be styled with backgrounds and borders using CSS. See
Region superclass for details.
The application sets anchor constraints on each child to configure the anchors on one or more sides. If a child is anchored on opposite sides (and is resizable), the anchor pane will resize it to maintain both offsets, otherwise the anchor pane will resize it to its preferred size. If in the former case (anchored on opposite sides) and the child is not resizable, then only the top/left anchor will be honored. AnchorPane provides a static method for setting each anchor constraint.
| Constraint | Type | Description |
|---|---|---|
| topAnchor | double | distance from the anchor pane's top insets to the child's top edge. |
| leftAnchor | double | distance from the anchor pane's left insets to the child's left edge. |
| bottomAnchor | double | distance from the anchor pane's bottom insets to the child's bottom edge. |
| rightAnchor | double | distance from the anchor pane's right insets to the child's right edge. |
AnchorPane Example:
AnchorPane anchorPane = new AnchorPane();
// List should stretch as anchorPane is resized
ListView list = new ListView();
AnchorPane.setTopAnchor(list, 10.0);
AnchorPane.setLeftAnchor(list, 10.0);
AnchorPane.setRightAnchor(list, 65.0);
// Button will float on right edge
Button button = new Button("Add");
AnchorPane.setTopAnchor(button, 10.0);
AnchorPane.setRightAnchor(button, 10.0);
anchorPane.getChildren().addAll(list, button);
An anchor pane's parent will resize the anchor pane within the anchor pane's resizable range during layout. By default the anchor pane computes this range based on its content as outlined in the table below.
| width | height | |
|---|---|---|
| minimum | left/right insets plus width required to display children anchored at left/right with at least their min widths | top/bottom insets plus height required to display children anchored at top/bottom with at least their min heights |
| preferred | left/right insets plus width required to display children anchored at left/right with at least their pref widths | top/bottom insets plus height required to display children anchored at top/bottom with at least their pref heights |
| maximum | Double.MAX_VALUE | Double.MAX_VALUE |
An anchor pane's unbounded maximum width and height are an indication to the parent that it may be resized beyond its preferred size to fill whatever space is assigned to it.
AnchorPane provides properties for setting the size range directly. These properties default to the sentinel value Region.USE_COMPUTED_SIZE, however the application may set them to other values as needed:
anchorPane.setPrefSize(300, 300);
Applications may restore the computed values by setting these properties back
to Region.USE_COMPUTED_SIZE.
AnchorPane does not clip its content by default, so it is possible that children's bounds may extend outside its own bounds if the anchor pane is resized smaller than its preferred size.
| Modifier and Type | Field and Description |
|---|---|
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String |
| Access | Constructor and Description |
|---|---|
| public | |
| public | AnchorPane(Node...
the initial set of children for this pane children)Creates an |
| Modifier and Type | Method and Description |
|---|---|
| public static void | |
| private double | computeChildHeight(Node child, Double topAnchor, Double bottomAnchor, double areaHeight, double width)
|
| private double | computeChildWidth(Node child, Double leftAnchor, Double rightAnchor, double areaWidth, double height)
|
| private double | |
| protected double | computeMinHeight(double width)
Overrides javafx. Computes the minimum height of this region. |
| protected double | computeMinWidth(double height)
Overrides javafx. Computes the minimum width of this region. |
| protected double | computePrefHeight(double width)
Overrides javafx. Computes the preferred height of this region for the given width; Region subclasses should override this method to return an appropriate value based on their content and layout strategy. |
| protected double | computePrefWidth(double height)
Overrides javafx. Computes the preferred width of this region for the given height. |
| private double | |
| public static Double | Returns: the offset from the bottom of the anchor pane, ornull if no bottom anchor was setthe child node of an anchor pane child)Returns the child's bottom anchor constraint, if set. |
| public static Double | Returns: the offset from the left of the anchor pane, ornull if no left anchor was setthe child node of an anchor pane child)Returns the child's left anchor constraint, if set. |
| public static Double | Returns: the offset from the right of the anchor pane, ornull if no right anchor was setthe child node of an anchor pane child)Returns the child's right anchor constraint, if set. |
| private Double | |
| private Double | |
| private Double | |
| private Double | |
| public static Double | Returns: the offset from the top of the anchor pane, ornull if no top anchor was setthe child node of an anchor pane child)Returns the child's top anchor constraint, if set. |
| protected void | layoutChildren()
Overrides javafx. Invoked during the layout pass to layout the children in this
|
| public static void | setBottomAnchor(Node
the child node of an anchor pane child, Double the offset from the bottom of the anchor pane value)Sets the bottom anchor for the child when contained by an anchor pane. |
| public static void | setLeftAnchor(Node
the child node of an anchor pane child, Double the offset from the left of the anchor pane value)Sets the left anchor for the child when contained by an anchor pane. |
| public static void | setRightAnchor(Node
the child node of an anchor pane child, Double the offset from the right of the anchor pane value)Sets the right anchor for the child when contained by an anchor pane. |
| public static void | setTopAnchor(Node
the child node of an anchor pane child, Double the offset from the top of the anchor pane value)Sets the top anchor for the child when contained by an anchor pane. |
| BOTTOM_ANCHOR | back to summary |
|---|---|
| private static final String BOTTOM_ANCHOR | |
| LEFT_ANCHOR | back to summary |
|---|---|
| private static final String LEFT_ANCHOR | |
| RIGHT_ANCHOR | back to summary |
|---|---|
| private static final String RIGHT_ANCHOR | |
| TOP_ANCHOR | back to summary |
|---|---|
| private static final String TOP_ANCHOR | |
| AnchorPane | back to summary |
|---|---|
| public AnchorPane() Creates an | |
| AnchorPane | back to summary |
|---|---|
| public AnchorPane(Node... children) Creates an
| |
| clearConstraints | back to summary |
|---|---|
| public static void clearConstraints(Node child) Removes all anchor pane constraints from the child node.
| |
| computeChildHeight | back to summary |
|---|---|
| private double computeChildHeight(Node child, Double topAnchor, Double bottomAnchor, double areaHeight, double width) | |
| computeChildWidth | back to summary |
|---|---|
| private double computeChildWidth(Node child, Double leftAnchor, Double rightAnchor, double areaWidth, double height) | |
| computeHeight | back to summary |
|---|---|
| private double computeHeight(final boolean minimum, final double width) | |
| computeMinHeight | back to summary |
|---|---|
| protected double computeMinHeight(double width) Overrides javafx. Doc from javafx. Computes the minimum height of this region. Returns the sum of the top and bottom insets by default. Region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a HORIZONTAL content bias, then the width parameter can be ignored.
| |
| computeMinWidth | back to summary |
|---|---|
| protected double computeMinWidth(double height) Overrides javafx. Doc from javafx. Computes the minimum width of this region. Returns the sum of the left and right insets by default. region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a VERTICAL content bias, then the height parameter can be ignored.
| |
| computePrefHeight | back to summary |
|---|---|
| protected double computePrefHeight(double width) Overrides javafx. Doc from javafx. Computes the preferred height of this region for the given width; Region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a HORIZONTAL content bias, then the width parameter can be ignored.
| |
| computePrefWidth | back to summary |
|---|---|
| protected double computePrefWidth(double height) Overrides javafx. Doc from javafx. Computes the preferred width of this region for the given height. Region subclasses should override this method to return an appropriate value based on their content and layout strategy. If the subclass doesn't have a VERTICAL content bias, then the height parameter can be ignored.
| |
| computeWidth | back to summary |
|---|---|
| private double computeWidth(final boolean minimum, final double height) | |
| getBottomAnchor | back to summary |
|---|---|
| public static Double getBottomAnchor(Node child) Returns the child's bottom anchor constraint, if set. | |
| getLeftAnchor | back to summary |
|---|---|
| public static Double getLeftAnchor(Node child) Returns the child's left anchor constraint, if set. | |
| getRightAnchor | back to summary |
|---|---|
| public static Double getRightAnchor(Node child) Returns the child's right anchor constraint, if set. | |
| getSnappedBottomAnchor | back to summary |
|---|---|
| private Double getSnappedBottomAnchor(Node child) | |
| getSnappedLeftAnchor | back to summary |
|---|---|
| private Double getSnappedLeftAnchor(Node child) | |
| getSnappedRightAnchor | back to summary |
|---|---|
| private Double getSnappedRightAnchor(Node child) | |
| getSnappedTopAnchor | back to summary |
|---|---|
| private Double getSnappedTopAnchor(Node child) | |
| getTopAnchor | back to summary |
|---|---|
| public static Double getTopAnchor(Node child) Returns the child's top anchor constraint, if set. | |
| layoutChildren | back to summary |
|---|---|
| protected void layoutChildren() Overrides javafx. Doc from javafx. Invoked during the layout pass to layout the children in this
Subclasses should override this function to layout content as needed.
| |
| setBottomAnchor | back to summary |
|---|---|
| public static void setBottomAnchor(Node child, Double value) Sets the bottom anchor for the child when contained by an anchor pane.
If set, the anchor pane will maintain the child's size and position so
that its bottom is always offset by that amount from the anchor pane's bottom
content edge.
Setting the value to | |
| setLeftAnchor | back to summary |
|---|---|
| public static void setLeftAnchor(Node child, Double value) Sets the left anchor for the child when contained by an anchor pane.
If set, the anchor pane will maintain the child's size and position so
that its left is always offset by that amount from the anchor pane's left
content edge.
Setting the value to | |
| setRightAnchor | back to summary |
|---|---|
| public static void setRightAnchor(Node child, Double value) Sets the right anchor for the child when contained by an anchor pane.
If set, the anchor pane will maintain the child's size and position so
that its right is always offset by that amount from the anchor pane's right
content edge.
Setting the value to | |
| setTopAnchor | back to summary |
|---|---|
| public static void setTopAnchor(Node child, Double value) Sets the top anchor for the child when contained by an anchor pane.
If set, the anchor pane will maintain the child's size and position so
that its top is always offset by that amount from the anchor pane's top
content edge.
Setting the value to | |