org.apache.pivot.wtk.skin
Class BorderSkin

java.lang.Object
  extended by org.apache.pivot.wtk.skin.ComponentSkin
      extended by org.apache.pivot.wtk.skin.ContainerSkin
          extended by org.apache.pivot.wtk.skin.BorderSkin
All Implemented Interfaces:
BorderListener, ComponentKeyListener, ComponentListener, ComponentMouseButtonListener, ComponentMouseListener, ComponentMouseWheelListener, ComponentStateListener, ComponentTooltipListener, ConstrainedVisual, ContainerListener, ContainerMouseListener, Skin, Visual
Direct Known Subclasses:
TerraBorderSkin

public class BorderSkin
extends ContainerSkin
implements BorderListener

Border skin.

TODO Add styles to support different border styles (e.g. inset, outset) or create subclasses for these border types.


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.BorderListener
BorderListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerListener
ContainerListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ContainerMouseListener
ContainerMouseListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentListener
ComponentListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentStateListener
ComponentStateListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseListener
ComponentMouseListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentMouseButtonListener
ComponentMouseButtonListener.Adapter
 
Nested classes/interfaces inherited from interface org.apache.pivot.wtk.ComponentKeyListener
ComponentKeyListener.Adapter
 
Constructor Summary
BorderSkin()
           
 
Method Summary
 void contentChanged(Border border, Component previousContent)
          Called when a border's content component has changed.
 int getBaseline(int width, int height)
          Returns the baseline for a given width and height.
 Color getColor()
          Returns the color of the border
 CornerRadii getCornerRadii()
          Returns a CornerRadii, describing the radius of each of the Border's corners.
 Font getFont()
          Returns the font used in rendering the title
 Insets getPadding()
          Returns the amount of space between the edge of the Border and its content.
 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 getThickness()
          Returns the thickness of the border
 Color getTitleColor()
           
 void install(Component component)
          Associates a skin with a component.
 void layout()
          If the component on which the skin is installed is a container, lays out the container's children.
 void paint(Graphics2D graphics)
          Paints the visual.
 void setColor(Color color)
          Sets the color of the border
 void setColor(String color)
          Sets the color of the border
 void setCornerRadii(CornerRadii cornerRadii)
          Sets the radii of the Border's corners
 void setCornerRadii(Dictionary<String,?> cornerRadii)
          Sets the radii of the Border's corners
 void setCornerRadii(int cornerRadii)
          Sets the radii of the Border's four corners to the same value
 void setCornerRadii(Number cornerRadii)
          Sets the radii of the Border's four corners to the same value
 void setCornerRadii(String cornerRadii)
          Sets the radii of the Border's corners
 void setFont(Dictionary<String,?> font)
          Sets the font used in rendering the title
 void setFont(Font font)
          Sets the font used in rendering the title
 void setFont(String font)
          Sets the font used in rendering the title
 void setPadding(Dictionary<String,?> padding)
          Sets the amount of space to leave between the edge of the Border and its content.
 void setPadding(Insets padding)
          Sets the amount of space to leave between the edge of the Border and its content.
 void setPadding(int padding)
          Sets the amount of space to leave between the edge of the Border and its content, uniformly on all four edges.
 void setPadding(Number padding)
          Sets the amount of space to leave between the edge of the Border and its content, uniformly on all four edges.
 void setPadding(String padding)
          Sets the amount of space to leave between the edge of the Border and its content.
 void setThickness(int thickness)
          Sets the thickness of the border
 void setThickness(Number thickness)
          Sets the thickness of the border
 void setTitleColor(Color titleColor)
           
 void setTitleColor(String titleColor)
           
 void titleChanged(Border border, String previousTitle)
          Called when a border's title has changed.
 
Methods inherited from class org.apache.pivot.wtk.skin.ContainerSkin
componentInserted, componentMoved, componentsRemoved, focusTraversalPolicyChanged, getBackgroundColor, getBackgroundPaint, isFocusable, isOpaque, mouseDown, mouseMove, mouseUp, mouseWheel, setBackgroundColor, setBackgroundColor, setBackgroundPaint, setBackgroundPaint, setBackgroundPaint
 
Methods inherited from class org.apache.pivot.wtk.skin.ComponentSkin
cursorChanged, decodeFont, dragSourceChanged, dropTargetChanged, enabledChanged, focusedChanged, getBaseline, getComponent, getHeight, getWidth, heightLimitsChanged, invalidateComponent, keyPressed, keyReleased, keyTyped, locationChanged, menuHandlerChanged, mouseClick, mouseDown, mouseMove, mouseOut, mouseOver, mouseUp, mouseWheel, nameChanged, parentChanged, preferredSizeChanged, repaintComponent, repaintComponent, repaintComponent, repaintComponent, repaintComponent, setSize, sizeChanged, tooltipDelayChanged, tooltipTextChanged, tooltipTriggered, visibleChanged, widthLimitsChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BorderSkin

public BorderSkin()
Method Detail

install

public void install(Component component)
Description copied from interface: Skin
Associates a skin with a component.

Specified by:
install in interface Skin
Overrides:
install in class ContainerSkin
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 interface ConstrainedVisual
Overrides:
getPreferredWidth in class ContainerSkin
Parameters:
height - The height by which to constrain the preferred width, or -1 for no 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 interface ConstrainedVisual
Overrides:
getPreferredHeight in class ContainerSkin
Parameters:
width - The width by which to constrain the preferred height, or -1 for no constraint.

getPreferredSize

public Dimensions getPreferredSize()
Description copied from interface: ConstrainedVisual
Returns the visual's unconstrained preferred size.

Specified by:
getPreferredSize in interface ConstrainedVisual
Overrides:
getPreferredSize in class ComponentSkin

getBaseline

public int getBaseline(int width,
                       int height)
Description copied from interface: ConstrainedVisual
Returns the baseline for a given width and height.

Specified by:
getBaseline in interface ConstrainedVisual
Overrides:
getBaseline in class ComponentSkin
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.

Specified by:
layout in interface Skin

paint

public void paint(Graphics2D graphics)
Description copied from interface: Visual
Paints the visual.

Specified by:
paint in interface Visual
Overrides:
paint in class ContainerSkin
Parameters:
graphics - The graphics context in which to paint the visual.

getFont

public Font getFont()
Returns the font used in rendering the title


setFont

public void setFont(Font font)
Sets the font used in rendering the title


setFont

public final void setFont(String font)
Sets the font used in rendering the title

Parameters:
font - A font specification

setFont

public final void setFont(Dictionary<String,?> font)
Sets the font used in rendering the title

Parameters:
font - A dictionary describing a font

getColor

public Color getColor()
Returns the color of the border


setColor

public void setColor(Color color)
Sets the color of the border


setColor

public final void setColor(String color)
Sets the color of the border

Parameters:
color - Any of the color values recognized by Pivot.

getTitleColor

public Color getTitleColor()

setTitleColor

public void setTitleColor(Color titleColor)

setTitleColor

public final void setTitleColor(String titleColor)

getThickness

public int getThickness()
Returns the thickness of the border


setThickness

public void setThickness(int thickness)
Sets the thickness of the border


setThickness

public void setThickness(Number thickness)
Sets the thickness of the border


getPadding

public Insets getPadding()
Returns the amount of space between the edge of the Border and its content.


setPadding

public void setPadding(Insets padding)
Sets the amount of space to leave between the edge of the Border and its content.


setPadding

public final void setPadding(Dictionary<String,?> padding)
Sets the amount of space to leave between the edge of the Border and its content.

Parameters:
padding - A dictionary with keys in the set {left, top, bottom, right}.

setPadding

public final void setPadding(int padding)
Sets the amount of space to leave between the edge of the Border and its content, uniformly on all four edges.


setPadding

public void setPadding(Number padding)
Sets the amount of space to leave between the edge of the Border and its content, uniformly on all four edges.


setPadding

public final void setPadding(String padding)
Sets the amount of space to leave between the edge of the Border and its content.

Parameters:
padding - A string containing an integer or a JSON dictionary with keys left, top, bottom, and/or right.

getCornerRadii

public CornerRadii getCornerRadii()
Returns a CornerRadii, describing the radius of each of the Border's corners.


setCornerRadii

public void setCornerRadii(CornerRadii cornerRadii)
Sets the radii of the Border's corners


setCornerRadii

public final void setCornerRadii(Dictionary<String,?> cornerRadii)
Sets the radii of the Border's corners

Parameters:
cornerRadii - A Dictionary specifying the four corners

setCornerRadii

public final void setCornerRadii(int cornerRadii)
Sets the radii of the Border's four corners to the same value


setCornerRadii

public final void setCornerRadii(Number cornerRadii)
Sets the radii of the Border's four corners to the same value


setCornerRadii

public final void setCornerRadii(String cornerRadii)
Sets the radii of the Border's corners

Parameters:
cornerRadii - A single integer value, or a JSON dictionary specifying the four corners

titleChanged

public void titleChanged(Border border,
                         String previousTitle)
Description copied from interface: BorderListener
Called when a border's title has changed.

Specified by:
titleChanged in interface BorderListener

contentChanged

public void contentChanged(Border border,
                           Component previousContent)
Description copied from interface: BorderListener
Called when a border's content component has changed.

Specified by:
contentChanged in interface BorderListener