Class BoxPaneSkin
- java.lang.Object
-
- org.apache.pivot.wtk.skin.ComponentSkin
-
- org.apache.pivot.wtk.skin.ContainerSkin
-
- org.apache.pivot.wtk.skin.BoxPaneSkin
-
- All Implemented Interfaces:
BoxPaneListener
,ComponentKeyListener
,ComponentListener
,ComponentMouseButtonListener
,ComponentMouseListener
,ComponentMouseWheelListener
,ComponentStateListener
,ComponentTooltipListener
,ConstrainedVisual
,ContainerListener
,ContainerMouseListener
,Skin
,Visual
public class BoxPaneSkin extends ContainerSkin implements BoxPaneListener
Box pane skin.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.pivot.wtk.skin.ContainerSkin
ContainerSkin.IndexFocusTraversalPolicy
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.BoxPaneListener
BoxPaneListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentKeyListener
ComponentKeyListener.Adapter, ComponentKeyListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentListener
ComponentListener.Adapter, ComponentListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseButtonListener
ComponentMouseButtonListener.Adapter, ComponentMouseButtonListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseListener
ComponentMouseListener.Adapter, ComponentMouseListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseWheelListener
ComponentMouseWheelListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentStateListener
ComponentStateListener.Adapter, ComponentStateListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentTooltipListener
ComponentTooltipListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerListener
ContainerListener.Adapter, ContainerListener.Listeners
-
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerMouseListener
ContainerMouseListener.Adapter, ContainerMouseListener.Listeners
-
-
Constructor Summary
Constructors Constructor Description BoxPaneSkin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getBaseline(int width, int height)
Should be implemented in every subclass.boolean
getFill()
HorizontalAlignment
getHorizontalAlignment()
Insets
getPadding()
int
getPreferredHeight(int width)
Returns the visual's preferred height given the provided width constraint.Dimensions
getPreferredSize()
Returns the visual's unconstrained preferred size.int
getPreferredWidth(int height)
Returns the visual's preferred width given the provided height constraint.int
getSpacing()
VerticalAlignment
getVerticalAlignment()
void
install(Component component)
Must be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.void
layout()
If the component on which the skin is installed is a container, lays out the container's children.void
orientationChanged(BoxPane boxPane)
Called when a box pane's orientation has changed.void
setFill(boolean fill)
Sets whether the BoxPane's components fill to the edges of the pane.void
setHorizontalAlignment(HorizontalAlignment horizontalAlignment)
Sets the horizontal alignment of the BoxPane's components within the pane.void
setPadding(int padding)
Sets the amount of space to leave between the edge of the BoxPane and its components, uniformly on all four edges.void
setPadding(java.lang.Number padding)
Sets the amount of space to leave between the edge of the BoxPane and its components, uniformly on all four edges.void
setPadding(java.lang.String padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.void
setPadding(Dictionary<java.lang.String,?> padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.void
setPadding(Sequence<?> padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.void
setPadding(Insets padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.void
setSpacing(int spacing)
Sets the amount of space to leave between the BoxPane's components.void
setSpacing(java.lang.Number spacing)
Sets the amount of space to leave between the BoxPane's components.void
setVerticalAlignment(VerticalAlignment verticalAlignment)
Sets the vertical alignment of the BoxPane's components within the pane.-
Methods inherited from class org.apache.pivot.wtk.skin.ContainerSkin
componentInserted, componentMoved, componentsRemoved, focusTraversalPolicyChanged, getBackgroundColor, getBackgroundPaint, isFocusable, isOpaque, mouseDown, mouseMove, mouseUp, mouseWheel, paint, setBackgroundColor, setBackgroundColor, setBackgroundColor, setBackgroundPaint, setBackgroundPaint, setBackgroundPaint
-
Methods inherited from class org.apache.pivot.wtk.skin.ComponentSkin
colorFromObject, colorFromObject, colorFromObject, colorFromObject, currentTheme, cursorChanged, decodeFont, defaultBackgroundColor, defaultForegroundColor, dragSourceChanged, dropTargetChanged, enabledChanged, focusedChanged, fontFromObject, getBaseline, getColor, getComponent, getFocusRectangleStroke, getHeight, getSize, getTextInputMethodListener, getThemeFont, getWidth, heightLimitsChanged, invalidateComponent, keyPressed, keyReleased, keyTyped, locationChanged, menuHandlerChanged, mouseClick, mouseDown, mouseMove, mouseOut, mouseOver, mouseUp, mouseWheel, nameChanged, parentChanged, preferredSizeChanged, repaintComponent, repaintComponent, repaintComponent, repaintComponent, repaintComponent, setDefaultStyles, setSize, sizeChanged, themeHasThickFocusRectangle, themeHasTransitionEnabled, themeIsDark, themeIsFlat, tooltipDelayChanged, tooltipTextChanged, tooltipTriggered, visibleChanged, widthLimitsChanged
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pivot.wtk.ConstrainedVisual
setSize
-
-
-
-
Method Detail
-
install
public void install(Component component)
Description copied from class:ComponentSkin
Must be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.- Specified by:
install
in interfaceSkin
- Overrides:
install
in classContainerSkin
- Parameters:
component
- The component to which the skin is being attached.
-
getPreferredWidth
public int getPreferredWidth(int height)
Description copied from interface:ConstrainedVisual
Returns the visual's preferred width given the provided height constraint.- Specified by:
getPreferredWidth
in interfaceConstrainedVisual
- Overrides:
getPreferredWidth
in classContainerSkin
- Parameters:
height
- The height by which to constrain the preferred width, or-1
for no constraint.- Returns:
- The preferred width given the height constraint.
-
getPreferredHeight
public int getPreferredHeight(int width)
Description copied from interface:ConstrainedVisual
Returns the visual's preferred height given the provided width constraint.- Specified by:
getPreferredHeight
in interfaceConstrainedVisual
- Overrides:
getPreferredHeight
in classContainerSkin
- Parameters:
width
- The width by which to constrain the preferred height, or-1
for no constraint.- Returns:
- The preferred height given the width constraint.
-
getPreferredSize
public Dimensions getPreferredSize()
Description copied from interface:ConstrainedVisual
Returns the visual's unconstrained preferred size.- Specified by:
getPreferredSize
in interfaceConstrainedVisual
- Overrides:
getPreferredSize
in classComponentSkin
- Returns:
- The preferred size (width and height) of this component.
Depending on the component this can be a static value or derived (as for a container) from its subcomponents, etc.
The default implementation simply calls
ConstrainedVisual.getPreferredWidth(int)
andConstrainedVisual.getPreferredHeight(int)
.
-
getBaseline
public int getBaseline(int width, int height)
Description copied from class:ComponentSkin
Should be implemented in every subclass.The default implementation here simply returns -1 (no baseline).
- Specified by:
getBaseline
in interfaceConstrainedVisual
- Overrides:
getBaseline
in classComponentSkin
- Parameters:
width
- Constrained width to compute the baseline for.height
- Constrained height to compute the baseline for.- Returns:
- The baseline relative to the origin of this visual, or
-1
if this visual does not have a baseline.
-
layout
public void layout()
Description copied from interface:Skin
If the component on which the skin is installed is a container, lays out the container's children.
-
getHorizontalAlignment
public HorizontalAlignment getHorizontalAlignment()
- Returns:
- The horizontal alignment of the BoxPane's components within the pane.
-
setHorizontalAlignment
public void setHorizontalAlignment(HorizontalAlignment horizontalAlignment)
Sets the horizontal alignment of the BoxPane's components within the pane.If the orientation of the pane is HORIZONTAL, this means the collective alignment all the components as group, which are still laid out close together according to the value of the
spacing
style.If the orientation of the pane is VERTICAL, this means the alignment of each individual component within the pane. It has no effect if the
fill
style is true.- Parameters:
horizontalAlignment
- The new horizontal alignment for our children.
-
getVerticalAlignment
public VerticalAlignment getVerticalAlignment()
- Returns:
- The vertical alignment of the BoxPane's components within the pane.
-
setVerticalAlignment
public void setVerticalAlignment(VerticalAlignment verticalAlignment)
Sets the vertical alignment of the BoxPane's components within the pane.If the orientation of the pane is VERTICAL, this means the collective alignment all the components as group, which are still laid out close together according to the value of the
spacing
style.If the orientation of the pane is HORIZONTAL, this means the alignment of each individual component within the pane. It has no effect if the
fill
style is true.- Parameters:
verticalAlignment
- The new horizontal alignment for our children.
-
getPadding
public Insets getPadding()
- Returns:
- The amount of space between the edge of the BoxPane and its components.
-
setPadding
public void setPadding(Insets padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.- Parameters:
padding
- The new padding values for all edges.
-
setPadding
public final void setPadding(Dictionary<java.lang.String,?> padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.- Parameters:
padding
- A dictionary with keys in the set {top, left, bottom, right}.
-
setPadding
public final void setPadding(Sequence<?> padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.- Parameters:
padding
- A sequence with values in the order [top, left, bottom, right].
-
setPadding
public final void setPadding(int padding)
Sets the amount of space to leave between the edge of the BoxPane and its components, uniformly on all four edges.- Parameters:
padding
- The new padding value for all edges.
-
setPadding
public final void setPadding(java.lang.Number padding)
Sets the amount of space to leave between the edge of the BoxPane and its components, uniformly on all four edges.- Parameters:
padding
- The integer value to use for padding on all edges.
-
setPadding
public final void setPadding(java.lang.String padding)
Sets the amount of space to leave between the edge of the BoxPane and its components.- Parameters:
padding
- A string containing an integer or a JSON dictionary with keys left, top, bottom, and/or right.
-
getSpacing
public int getSpacing()
- Returns:
- The amount of space between the BoxPane's components.
-
setSpacing
public void setSpacing(int spacing)
Sets the amount of space to leave between the BoxPane's components.- Parameters:
spacing
- The new amount of spacing between components.
-
setSpacing
public final void setSpacing(java.lang.Number spacing)
Sets the amount of space to leave between the BoxPane's components.- Parameters:
spacing
- The new amount of spacing to use between components.
-
getFill
public boolean getFill()
- Returns:
- A value indicating whether the BoxPane's components fill the available space in the pane in the dimension orthogonal to its orientation.
-
setFill
public void setFill(boolean fill)
Sets whether the BoxPane's components fill to the edges of the pane.- Parameters:
fill
- If true, the components are given all the available space in the dimension orthogonal to the pane's orientation (e.g., vertically in a BoxPane with orientation=horizontal). It has no effect on the layout of components in the direction of the pane's orientation, which are always given exactly their preferred size. If false, the pane's components are laid out to their preferred size, regardless of the size of the BoxPane. Their alignment along the axis orthogonal to the pane's orientation is controlled by the corresponding alignment style (e.g., verticalAlignment in a BoxPane with orientation=horizontal).Note that to Scale Up Images, other that fill=true it will be needed to set even the preferredWidth/preferredHeight as with container preferredHeight/preferredWidth just set, depending on the pane's orientation.
-
orientationChanged
public void orientationChanged(BoxPane boxPane)
Description copied from interface:BoxPaneListener
Called when a box pane's orientation has changed.- Specified by:
orientationChanged
in interfaceBoxPaneListener
- Parameters:
boxPane
- The box pane whose orientation has changed.
-
-