This class may be used directly in cases where absolute positioning of children is required since it does not perform layout beyond resizing resizable children to their preferred sizes. It is the application's responsibility to position the children since the pane leaves the positions alone during layout. For example:
Pane canvas = new Pane();
canvas.setStyle("-fx-background-color: black;");
canvas.setPrefSize(200,200);
Circle circle = new Circle(50,Color.BLUE);
circle.relocate(20, 20);
Rectangle rectangle = new Rectangle(100,100,Color.RED);
rectangle.relocate(70,70);
canvas.getChildren().addAll(circle,rectangle);
Note
if an application needs children to be kept aligned within a parent (centered,
positioned at top-left, etc), it should use a StackPane
instead.
Pane resizes each managed child regardless of the child's visible property value; unmanaged children are ignored for all layout calculations.
A pane's parent will resize the pane within the pane's resizable range during layout. By default the pane computes this range based on its content as outlined in the table below:
| width | height | |
|---|---|---|
| minimum | left plus right insets. | top plus bottom insets. |
| preferred | width required to encompass each child at its current x location and preferred width. | height required to encompass each child at its current y location and preferred height. |
| maximum | Double.MAX_VALUE | Double.MAX_VALUE |
A 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.
Pane 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:
pane.setPrefSize(500,400);
Applications may restore the computed values by setting these properties back
to Region.USE_COMPUTED_SIZE.
Pane does not clip its content by default, so it is possible that children's bounds may extend outside its own bounds, either if children are positioned at negative coordinates or the pane is resized smaller than its preferred size.
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public ObservableList | Returns: modifiable list of children.Overrides javafx. Gets the list of children of this |
| pack-priv static Object | |
| pack-priv static void |
| Pane | back to summary |
|---|---|
| public Pane() Creates a Pane layout. | |
| Pane | back to summary |
|---|---|
| public Pane(Node... children) Creates a Pane layout.
| |
| getChildren | back to summary |
|---|---|
| public ObservableList Overrides javafx. Doc from javafx. Gets the list of children of this
See the class documentation for
If this Note to subclasses: if you override this method, you must return from your implementation the result of calling this super method. The actual list instance returned from any getChildren() implementation must be the list owned and managed by this Parent. The only typical purpose for overriding this method is to promote the method to be public.
| |
| getConstraint | back to summary |
|---|---|
| pack-priv static Object getConstraint(Node node, Object key) | |
| setConstraint | back to summary |
|---|---|
| pack-priv static void setConstraint(Node node, Object key, Object value) | |