Spec-Zone .ru
спецификации, руководства, описания, API
|
public class TilePane extends Pane
A horizontal tilepane (the default) will tile nodes in rows, wrapping at the tilepane's width. A vertical tilepane will tile nodes in columns, wrapping at the tilepane's height.
The size of each "tile" defaults to the size needed to encompass the largest preferred width and height of the tilepane's children and the tilepane will recompute the size of the tiles as needed to accommodate the largest preferred size of its children as it changes. The application may also control the size of the tiles directly by setting prefTileWidth/prefTileHeight properties to a value other than USE_COMPUTED_SIZE (the default).
Applications should initialize either prefColumns
(for horizontal)
or prefRows
(for vertical) to establish the tilepane's preferred
size (the arbitrary default is 5). Note that prefColumns/prefRows
is used only for calculating the preferred size and may not reflect the actual
number of rows or columns, which may change as the tilepane is resized and
the tiles are wrapped at its actual boundaries.
The alignment property controls how the rows and columns are aligned
within the bounds of the tilepane and defaults to Pos.TOP_LEFT. It is also possible
to control the alignment of nodes within the individual tiles by setting
tileAlignment
, which defaults to Pos.CENTER.
A horizontal tilepane example:
TilePane tile = new TilePane();
tile.setHgap(8);
tile.setPrefColumns(4);
for (int i = 0; i < 20; i++) {
tile.getChildren().add(new ImageView(...));
}
A vertical TilePane example:
TilePane tile = new TilePane(Orientation.VERTICAL);
tile.setTileAlignment(Pos.CENTER_LEFT);
tile.setPrefRows(10);
for (int i = 0; i < 50; i++) {
tile.getChildren().add(new ImageView(...));
}
The TilePane will attempt to resize each child to fill its tile.
If the child could not be sized to fill the tile (either because it was not
resizable or its size limits prevented it) then it will be aligned within the
tile using tileAlignment.
Horizontal:
width | height | |
---|---|---|
minimum | left/right insets plus the tile width. | top/bottom insets plus height required to display all tiles when wrapped at a specified width with a vgap between each row. |
preferred | left/right insets plus prefColumns multiplied by the tile width. | top/bottom insets plus height required to display all tiles when wrapped at a specified width with a vgap between each row. |
maximum | Double.MAX_VALUE | Double.MAX_VALUE |
Vertical:
width | height | |
---|---|---|
minimum | left/right insets plus width required to display all tiles when wrapped at a specified height with an hgap between each column. | top/bottom insets plus the tile height. |
preferred | left/right insets plus width required to display all tiles when wrapped at the specified height with an hgap between each column. | top/bottom insets plus prefRows multiplied by the tile height. |
maximum | Double.MAX_VALUE | Double.MAX_VALUE |
A tilepane'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.
TilePane 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:
tilepane.setMaxWidth(500);
Applications may restore the computed values by setting these properties back
to Region.USE_COMPUTED_SIZE.
TilePane does not clip its content by default, so it is possible that childrens' bounds may extend outside the tiles (and possibly the tilepane bounds) if a child's pref size prevents it from being fit within its tile. Also, if the tilepane is resized smaller than its preferred size, it may not be able to fit all the tiles within its bounds and the content will extend outside.
Constraint | Type | Description |
---|---|---|
alignment | javafx.geometry.Pos | The alignment of the child within its tile. |
margin | javafx.geometry.Insets | Margin space around the outside of the child. |
Example:
TilePane tilepane = new TilePane();
for (int i = 0; i < 20; i++) {
Label title = new Label(imageTitle[i]):
Imageview imageview = new ImageView(new Image(imageName[i]));
TilePane.setAlignment(label, Pos.BOTTOM_RIGHT);
tilepane.getChildren().addAll(title, imageview);
}
Type | Property and Description |
---|---|
ObjectProperty<Pos> |
alignment
The overall alignment of the tilepane's content within its width and height.
|
DoubleProperty |
hgap
The amount of horizontal space between each tile in a row.
|
ObjectProperty<Orientation> |
orientation
The orientation of this tilepane.
|
IntegerProperty |
prefColumns
The preferred number of columns for a horizontal tilepane.
|
IntegerProperty |
prefRows
The preferred number of rows for a vertical tilepane.
|
DoubleProperty |
prefTileHeight
The preferred height of each tile.
|
DoubleProperty |
prefTileWidth
The preferred width of each tile.
|
ObjectProperty<Pos> |
tileAlignment
The default alignment of each child within its tile.
|
ReadOnlyDoubleProperty |
tileHeight
The actual height of each tile.
|
ReadOnlyDoubleProperty |
tileWidth
The actual width of each tile.
|
DoubleProperty |
vgap
The amount of vertical space between each tile in a column.
|
height, maxHeight, maxWidth, minHeight, minWidth, padding, prefHeight, prefWidth, snapToPixel, width
needsLayout
blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, visible
USE_COMPUTED_SIZE, USE_PREF_SIZE
Constructor and Description |
---|
TilePane()
Creates a horizontal TilePane layout with prefColumn = 5 and hgap/vgap = 0.
|
TilePane(double hgap,
double vgap)
Creates a horizontal TilePane layout with prefColumn = 5 and the specified
hgap/vgap.
|
TilePane(Orientation orientation)
Creates a TilePane layout with the specified orientation,
prefColumn/prefRows = 5 and hgap/vgap = 0.
|
TilePane(Orientation orientation,
double hgap,
double vgap)
Creates a TilePane layout with the specified orientation, hgap/vgap,
and prefRows/prefColumns = 5.
|
Modifier and Type | Method and Description |
---|---|
ObjectProperty<Pos> |
alignmentProperty()
The overall alignment of the tilepane's content within its width and height.
|
static void |
clearConstraints(Node child)
Removes all tilepane constraints from the child node.
|
protected double |
computeMinHeight(double width)
Computes the minimum height of this region.
|
protected double |
computeMinWidth(double height)
Computes the minimum width of this region.
|
protected double |
computePrefHeight(double forWidth)
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 forHeight)
Computes the preferred width of this region for the given height.
|
Pos |
getAlignment()
Gets the value of the property alignment.
|
static Pos |
getAlignment(Node node)
Returns the child's alignment constraint if set.
|
Orientation |
getContentBias()
Returns the orientation of a node's resizing bias for layout purposes.
|
double |
getHgap()
Gets the value of the property hgap.
|
static Insets |
getMargin(Node node)
Returns the child's margin constraint if set.
|
Orientation |
getOrientation()
Gets the value of the property orientation.
|
int |
getPrefColumns()
Gets the value of the property prefColumns.
|
int |
getPrefRows()
Gets the value of the property prefRows.
|
double |
getPrefTileHeight()
Gets the value of the property prefTileHeight.
|
double |
getPrefTileWidth()
Gets the value of the property prefTileWidth.
|
Pos |
getTileAlignment()
Gets the value of the property tileAlignment.
|
double |
getTileHeight()
Gets the value of the property tileHeight.
|
double |
getTileWidth()
Gets the value of the property tileWidth.
|
double |
getVgap()
Gets the value of the property vgap.
|
DoubleProperty |
hgapProperty()
The amount of horizontal space between each tile in a row.
|
protected void |
layoutChildren()
Invoked during the layout pass to layout the children in this
Parent . |
ObjectProperty<Orientation> |
orientationProperty()
The orientation of this tilepane.
|
IntegerProperty |
prefColumnsProperty()
The preferred number of columns for a horizontal tilepane.
|
IntegerProperty |
prefRowsProperty()
The preferred number of rows for a vertical tilepane.
|
DoubleProperty |
prefTileHeightProperty()
The preferred height of each tile.
|
DoubleProperty |
prefTileWidthProperty()
The preferred width of each tile.
|
void |
requestLayout()
Requests a layout pass to be performed before the next scene is
rendered.
|
static void |
setAlignment(Node node,
Pos value)
Sets the alignment for the child when contained by a tilepane.
|
void |
setAlignment(Pos value)
Sets the value of the property alignment.
|
void |
setHgap(double value)
Sets the value of the property hgap.
|
static void |
setMargin(Node node,
Insets value)
Sets the margin for the child when contained by a tilepane.
|
void |
setOrientation(Orientation value)
Sets the value of the property orientation.
|
void |
setPrefColumns(int value)
Sets the value of the property prefColumns.
|
void |
setPrefRows(int value)
Sets the value of the property prefRows.
|
void |
setPrefTileHeight(double value)
Sets the value of the property prefTileHeight.
|
void |
setPrefTileWidth(double value)
Sets the value of the property prefTileWidth.
|
void |
setTileAlignment(Pos value)
Sets the value of the property tileAlignment.
|
void |
setVgap(double value)
Sets the value of the property vgap.
|
ObjectProperty<Pos> |
tileAlignmentProperty()
The default alignment of each child within its tile.
|
ReadOnlyDoubleProperty |
tileHeightProperty()
The actual height of each tile.
|
ReadOnlyDoubleProperty |
tileWidthProperty()
The actual width of each tile.
|
DoubleProperty |
vgapProperty()
The amount of vertical space between each tile in a column.
|
getChildren
computeMaxHeight, computeMaxWidth, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getPadding, getPrefHeight, getPrefWidth, getWidth, heightProperty, isResizable, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setSnapToPixel, setWidth, snapPosition, snapSize, snapSpace, snapToPixelProperty, widthProperty
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, setNeedsLayout
addEventFilter, addEventHandler, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEventDispatcher, getId, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getUserData, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToSceneTransformProperty, lookupAll, managedProperty, mouseTransparentProperty, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, visibleProperty
public final ObjectProperty<Orientation> orientationProperty
getOrientation()
,
setOrientation(Orientation)
public final IntegerProperty prefRowsProperty
It is recommended that the application initialize this value for a vertical tilepane.
getPrefRows()
,
setPrefRows(int)
public final IntegerProperty prefColumnsProperty
It is recommended that the application initialize this value for a horizontal tilepane.
getPrefColumns()
,
setPrefColumns(int)
public final DoubleProperty prefTileWidthProperty
getPrefTileWidth()
,
setPrefTileWidth(double)
public final DoubleProperty prefTileHeightProperty
getPrefTileHeight()
,
setPrefTileHeight(double)
public final ReadOnlyDoubleProperty tileWidthProperty
getTileWidth()
public final ReadOnlyDoubleProperty tileHeightProperty
getTileHeight()
public final DoubleProperty hgapProperty
getHgap()
,
setHgap(double)
public final DoubleProperty vgapProperty
getVgap()
,
setVgap(double)
public final ObjectProperty<Pos> alignmentProperty
For a horizontal tilepane, each row will be aligned within the tilepane's width using the alignment's hpos value, and the rows will be aligned within the tilepane's height using the alignment's vpos value.
For a vertical tilepane, each column will be aligned within the tilepane's height using the alignment's vpos value, and the columns will be aligned within the tilepane's width using the alignment's hpos value.
getAlignment()
,
setAlignment(Pos)
public final ObjectProperty<Pos> tileAlignmentProperty
getTileAlignment()
,
setTileAlignment(Pos)
public TilePane()
public TilePane(Orientation orientation)
orientation
- the direction the tiles should flow & wrappublic TilePane(double hgap, double vgap)
hgap
- the amount of horizontal space between each tilevgap
- the amount of vertical space between each tilepublic TilePane(Orientation orientation, double hgap, double vgap)
orientation
- the direction the tiles should flow & wraphgap
- the amount of horizontal space between each tilevgap
- the amount of vertical space between each tilepublic static void setAlignment(Node node, Pos value)
node
- the child node of a tilepanevalue
- the alignment position for the childpublic static Pos getAlignment(Node node)
node
- the child node of a tilepanepublic static void setMargin(Node node, Insets value)
node
- the child node of a tilepanevalue
- the margin of space around the childpublic static Insets getMargin(Node node)
node
- the child node of a tilepanepublic static void clearConstraints(Node child)
child
- the child nodepublic final ObjectProperty<Orientation> orientationProperty()
getOrientation()
,
setOrientation(Orientation)
public final void setOrientation(Orientation value)
public final Orientation getOrientation()
public final IntegerProperty prefRowsProperty()
It is recommended that the application initialize this value for a vertical tilepane.
getPrefRows()
,
setPrefRows(int)
public final void setPrefRows(int value)
It is recommended that the application initialize this value for a vertical tilepane.
public final int getPrefRows()
It is recommended that the application initialize this value for a vertical tilepane.
public final IntegerProperty prefColumnsProperty()
It is recommended that the application initialize this value for a horizontal tilepane.
getPrefColumns()
,
setPrefColumns(int)
public final void setPrefColumns(int value)
It is recommended that the application initialize this value for a horizontal tilepane.
public final int getPrefColumns()
It is recommended that the application initialize this value for a horizontal tilepane.
public final DoubleProperty prefTileWidthProperty()
getPrefTileWidth()
,
setPrefTileWidth(double)
public final void setPrefTileWidth(double value)
public final double getPrefTileWidth()
public final DoubleProperty prefTileHeightProperty()
getPrefTileHeight()
,
setPrefTileHeight(double)
public final void setPrefTileHeight(double value)
public final double getPrefTileHeight()
public final ReadOnlyDoubleProperty tileWidthProperty()
getTileWidth()
public final double getTileWidth()
public final ReadOnlyDoubleProperty tileHeightProperty()
getTileHeight()
public final double getTileHeight()
public final DoubleProperty hgapProperty()
getHgap()
,
setHgap(double)
public final void setHgap(double value)
public final double getHgap()
public final DoubleProperty vgapProperty()
getVgap()
,
setVgap(double)
public final void setVgap(double value)
public final double getVgap()
public final ObjectProperty<Pos> alignmentProperty()
For a horizontal tilepane, each row will be aligned within the tilepane's width using the alignment's hpos value, and the rows will be aligned within the tilepane's height using the alignment's vpos value.
For a vertical tilepane, each column will be aligned within the tilepane's height using the alignment's vpos value, and the columns will be aligned within the tilepane's width using the alignment's hpos value.
getAlignment()
,
setAlignment(Pos)
public final void setAlignment(Pos value)
For a horizontal tilepane, each row will be aligned within the tilepane's width using the alignment's hpos value, and the rows will be aligned within the tilepane's height using the alignment's vpos value.
For a vertical tilepane, each column will be aligned within the tilepane's height using the alignment's vpos value, and the columns will be aligned within the tilepane's width using the alignment's hpos value.
public final Pos getAlignment()
For a horizontal tilepane, each row will be aligned within the tilepane's width using the alignment's hpos value, and the rows will be aligned within the tilepane's height using the alignment's vpos value.
For a vertical tilepane, each column will be aligned within the tilepane's height using the alignment's vpos value, and the columns will be aligned within the tilepane's width using the alignment's hpos value.
public final ObjectProperty<Pos> tileAlignmentProperty()
getTileAlignment()
,
setTileAlignment(Pos)
public final void setTileAlignment(Pos value)
public final Pos getTileAlignment()
public Orientation getContentBias()
Node
Resizable subclasses should override this method to return an appropriate value.
getContentBias
in class Node
Node.isResizable()
,
Node.minWidth(double)
,
Node.minHeight(double)
,
Node.prefWidth(double)
,
Node.prefHeight(double)
,
Node.maxWidth(double)
,
Node.maxHeight(double)
public void requestLayout()
Parent
If this parent is either a layout root or unmanaged, then it will be added directly to the scene's dirty layout list, otherwise requestLayout will be invoked on its parent.
requestLayout
in class Parent
protected double computeMinWidth(double height)
Region
computeMinWidth
in class Region
height
- the height that should be used if min width depends
on itprotected double computeMinHeight(double width)
Region
computeMinHeight
in class Region
width
- the width that should be used if min height depends
on itprotected double computePrefWidth(double forHeight)
Region
computePrefWidth
in class Region
forHeight
- the height that should be used if preferred width depends
on itprotected double computePrefHeight(double forWidth)
Region
computePrefHeight
in class Region
forWidth
- the width that should be used if preferred height depends
on itprotected void layoutChildren()
Parent
Parent
. By default it will only set the size of managed,
resizable content to their preferred sizes and does not do any node
positioning.
Subclasses should override this function to layout content as needed.
layoutChildren
in class Parent
Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. Use is subject to