Class CSSBorder
A border that can be configured using a limited subset of CSS directives. This class is designed as a stop-gap to deal with common CSS style patterns that aren't well-covered by existing borders. As time goes on this class will be enhanced to support more CSS styles. At present, it is used by the CSS compiler for compound borders. E.g. If one side has a different border style, color, or thickness than other sides.
The follow types of borders are well-supported with this class:
-
border-radius - can support different x and y radii for each corner.
-
border-width - can support different widths for each side.
-
border-color - can support different colors for each side
-
background-color
This class also supports background images and gradients, but these are not well-tested and are not currently used by the CSS compiler.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byteConstant indicating background-position center (horizontal).static final byteConstant indicating background-position left.static final bytestatic final byteConstant indicating background-position right.static final byteConstant indicating repeating on both x and y for background images.static final byteConstant indicating no-repeat for background images.static final byteConstant indicating repeat-x for background images.static final byteConstant indicating repeat-y for background images.static final bytestatic final bytestatic final bytestatic final bytestatic final byteConstant for border-style dashedstatic final byteConstant for border-style dottedstatic final byteConstant for border-style hiddenstatic final byteConstant for border-style nonestatic final byteConstant for border-style solidstatic final byteConstant for unit emstatic final byteConstant for unit mmstatic final byteConstant for unit %static final byteConstant for unit pxstatic final byteConstant indicating background-position bottom.static final byteConstant indicating background-position center.static final bytestatic final byteConstant indicating background-position top. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbackgroundColor(String color) Sets the background color of the border.backgroundImage(Image... images) Sets the background image of the border.backgroundImage(String cssDirective) Adds one or more background images from a CSS background-image property.backgroundPosition(String... pos) Sets the background position.backgroundRepeat(String... repeat) Sets the background-repeat for the background images.borderColor(String... colors) Sets the border colors.borderImage(Image borderImage, double... slicePoints) Creates a 9-piece image border.borderImageWithName(String borderImageName, double... slicePoints) Adds a 9-piece image border using the provided image name, which should exist in the theme resource file.borderRadius(String radius) Sets the border radius for rounded corners.borderStroke(String... strokeStrs) Sets the border stroke.borderStyle(String... styles) Sets the border styles.borderWidth(String... widths) Sets the border widths.boolean{{}intReturns the minimum size required to properly display this border, normally this is 0 but a border might deem itself undisplayable with too small a size e.g.intReturns the minimum size required to properly display this border, normally this is 0 but a border might deem itself undisplayable with too small a size e.g.inthashCode()booleanReturns true if installing this border will override the painting of the component backgroundvoidHas effect when the border demands responsibility for background painting normally the painter will perform this work but in this case the border might do it instead.Converts this border to a CSS string.Methods inherited from class Border
addOuterBorder, clearImageBorderSpecialTile, createBevelLowered, createBevelLowered, createBevelRaised, createBevelRaised, createCompoundBorder, createDashedBorder, createDashedBorder, createDottedBorder, createDottedBorder, createDoubleBorder, createDoubleBorder, createEmpty, createEtchedLowered, createEtchedLowered, createEtchedRaised, createEtchedRaised, createGrooveBorder, createGrooveBorder, createHorizonalImageBorder, createImageBorder, createImageBorder, createImageScaledBorder, createImageSplicedBorder, createInsetBorder, createInsetBorder, createLineBorder, createLineBorder, createLineBorder, createLineBorder, createLineBorder, createLineBorder, createOutsetBorder, createOutsetBorder, createPressedVersion, createRidgeBorder, createRidgeBorder, createRoundBorder, createRoundBorder, createRoundBorder, createRoundBorder, createUndelineBorder, createUndelineBorder, createUnderlineBorder, createUnderlineBorder, createUnderlineBorder, createUnderlineBorder, createVerticalImageBorder, getCompoundBorders, getDefaultBorder, getEmpty, getFocusedInstance, getPressedInstance, getProperty, getThickness, getTrackComponent, isEmptyBorder, isPaintOuterBorderFirst, isRectangleType, lock, mirrorBorder, paint, setDefaultBorder, setFocusedInstance, setImageBorderSpecialTile, setImageBorderSpecialTile, setPaintOuterBorderFirst, setPressedInstance, setThickness, setTrackComponent, setTrackComponent, unlock
-
Field Details
-
REPEAT_NONE
public static final byte REPEAT_NONEConstant indicating no-repeat for background images.- See Also:
-
REPEAT_BOTH
public static final byte REPEAT_BOTHConstant indicating repeating on both x and y for background images.- See Also:
-
REPEAT_X
public static final byte REPEAT_XConstant indicating repeat-x for background images.- See Also:
-
REPEAT_Y
public static final byte REPEAT_YConstant indicating repeat-y for background images.- See Also:
-
VPOSITION_TOP
public static final byte VPOSITION_TOPConstant indicating background-position top.- See Also:
-
VPOSITION_BOTTOM
public static final byte VPOSITION_BOTTOMConstant indicating background-position bottom.- See Also:
-
VPOSITION_CENTER
public static final byte VPOSITION_CENTERConstant indicating background-position center.- See Also:
-
VPOSITION_OTHER
public static final byte VPOSITION_OTHER- See Also:
-
HPOSITION_LEFT
public static final byte HPOSITION_LEFTConstant indicating background-position left.- See Also:
-
HPOSITION_RIGHT
public static final byte HPOSITION_RIGHTConstant indicating background-position right.- See Also:
-
HPOSITION_CENTER
public static final byte HPOSITION_CENTERConstant indicating background-position center (horizontal).- See Also:
-
HPOSITION_OTHER
public static final byte HPOSITION_OTHER- See Also:
-
SIZE_AUTO
public static final byte SIZE_AUTO- See Also:
-
SIZE_CONTAIN
public static final byte SIZE_CONTAIN- See Also:
-
SIZE_COVER
public static final byte SIZE_COVER- See Also:
-
SIZE_OTHER
public static final byte SIZE_OTHER- See Also:
-
STYLE_NONE
public static final byte STYLE_NONEConstant for border-style none- See Also:
-
STYLE_HIDDEN
public static final byte STYLE_HIDDENConstant for border-style hidden- See Also:
-
STYLE_DOTTED
public static final byte STYLE_DOTTEDConstant for border-style dotted- See Also:
-
STYLE_DASHED
public static final byte STYLE_DASHEDConstant for border-style dashed- See Also:
-
STYLE_SOLID
public static final byte STYLE_SOLIDConstant for border-style solid- See Also:
-
UNIT_PIXELS
public static final byte UNIT_PIXELSConstant for unit px- See Also:
-
UNIT_MM
public static final byte UNIT_MMConstant for unit mm- See Also:
-
UNIT_PERCENT
public static final byte UNIT_PERCENTConstant for unit %- See Also:
-
UNIT_EM
public static final byte UNIT_EMConstant for unit em- See Also:
-
-
Constructor Details
-
CSSBorder
public CSSBorder()Creates a new empty CSS border. -
CSSBorder
Creates an empty border.
Parameters
res: Theme resource file from which images can be referenced.
-
CSSBorder
Creates a new CSS border with the provided CSS styles. This currenlty only supports a subset of CSS. The following properties are currently supported:
-
background-color
-
background-image
-
background-position
-
background-repeat
-
border-color
-
border-radius
-
border-stroke
-
border-style
-
border-width
-
border-image
Parameters
css: CSS to parse.
Throws
IllegalArgumentException: If it fails to parse the style.
-
-
CSSBorder
Creates a new CSS border with the provided CSS styles. This currenlty only supports a subset of CSS. The following properties are currently supported:
-
background-color
-
background-image
-
background-position
-
background-repeat
-
border-color
-
border-radius
-
border-stroke
-
border-style
-
border-width
-
border-image
Parameters
-
res: Theme resource file from which images can be loaded. -
css: CSS to parse.
Throws
IllegalArgumentException: If it fails to parse the style.
-
-
-
Method Details
-
equals
-
hashCode
-
toCSSString
Converts this border to a CSS string.
Returns
CSS string for this border.
-
isBackgroundPainter
public boolean isBackgroundPainter()Returns true if installing this border will override the painting of the component background
Returns
true if this border replaces the painter
- Overrides:
isBackgroundPainterin classBorder
-
paintBorderBackground
Has effect when the border demands responsibility for background painting normally the painter will perform this work but in this case the border might do it instead.
Parameters
-
g: graphics context to draw onto -
c: component whose border should be drawn
- Overrides:
paintBorderBackgroundin classBorder
-
-
getMinimumHeight
public int getMinimumHeight()Returns the minimum size required to properly display this border, normally this is 0 but a border might deem itself undisplayable with too small a size e.g. for the case of an image border the minimum height would be top + bottom and the minimum width would be left+right
Returns
0 if not applicable or a dimension if it is.
- Overrides:
getMinimumHeightin classBorder
-
getMinimumWidth
public int getMinimumWidth()Returns the minimum size required to properly display this border, normally this is 0 but a border might deem itself undisplayable with too small a size e.g. for the case of an image border the minimum height would be top + bottom and the minimum width would be left+right
Returns
0 if not applicable or a dimension if it is.
- Overrides:
getMinimumWidthin classBorder
-
borderImage
Creates a 9-piece image border.
Insets are all given in a (u,v) coordinate space where (0,0) is the top-left corner of the image, and (1.0, 1.0) is the bottom-right corner of the image.
If a border image is set for the CSS border, it will override all other border types, and will result in only the 9-piece border being rendered.
Parameters
-
borderImage: The border image. -
slicePoints: @param slicePoints The slice points. Accepts 1 - 4 values: -
1 value = all sides
-
2 values = vertical horizontal
-
3 values = top horizontal bottom
-
4 values = top right bottom left
Returns
Self for chaining.
Since
7.0
See also
- #borderImageWithName(java.lang.String, double...)
-
-
borderImageWithName
Adds a 9-piece image border using the provided image name, which should exist in the theme resource file.
Insets are all given in a (u,v) coordinate space where (0,0) is the top-left corner of the image, and (1.0, 1.0) is the bottom-right corner of the image.
If a border image is set for the CSS border, it will override all other border types, and will result in only the 9-piece border being rendered.
Parameters
-
borderImageName: The image name. -
slicePoints: @param slicePoints The slice points. Accepts 1 - 4 values: -
1 value = all sides
-
2 values = vertical horizontal
-
3 values = top horizontal bottom
-
4 values = top right bottom left
Returns
Self for chaining.
Since
7.0
See also
- #borderImage(com.codename1.ui.Image, double...)
-
-
boxShadow
-
borderRadius
-
borderStroke
-
borderColor
-
borderWidth
-
borderStyle
Sets the border styles. Supported styles: none, hidden, dotted, dashed, solid.
Parameters
styles: The border styles. 1 value sets all borders. 2 sets top/bottom, left/right. 3 sets top, left/right, bottom. 4 sets top, right, bottom, left.
Returns
Self for chaining.
-
backgroundColor
-
backgroundImage
-
backgroundImage
-
backgroundRepeat
-
backgroundPosition
-