javax.swing.plaf.basic

Class BasicBorders.SplitPaneBorder

public static class BasicBorders.SplitPaneBorder extends Object implements Border, UIResource

A border for JSplitPanes in the Basic look and feel. The divider in the middle of the JSplitPane has its own border class, of which an instance can be obtained with {@link #getSplitPaneDividerBorder()}.

[A screen shot for JSplitPane.HORIZONTAL_SPLIT]

[A screen shot for JSplitPane.VERTICAL_SPLIT]

In contrast to the other borders of the Basic look and feel, this class is not serializable. While this might be unintended, GNU Classpath follows the specification in order to be fully compatible with the Sun reference implementation.

In the Sun JDK, the bottom edge of the divider also gets painted if the orientation of the enclosed JSplitPane is JSplitPane.VERTICAL_SPLIT (at least in versions 1.3.1 and 1.4.1). GNU Classpath does not replicate this bug. A report has been filed with Sun (bug ID 4885629).

Note that the bottom left pixel of the border has a different color depending on the orientation of the enclosed JSplitPane. Although this is visually inconsistent, Classpath replicates the appearance of the Sun reference implementation. A bug report has been filed with Sun (review ID 188774).

See Also: SplitPaneBorder

Field Summary
protected Colorhighlight
The color for drawing the bottom and right edges of the border.
protected Colorshadow
The color for drawing the top and left edges of the border.
Constructor Summary
SplitPaneBorder(Color highlight, Color shadow)
Constructs a new border for drawing a JSplitPane in the Basic look and feel.
Method Summary
InsetsgetBorderInsets(Component c)
Measures the width of this border.
booleanisBorderOpaque()
Determines whether this border fills every pixel in its area when painting.
voidpaintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the border around a JSplitPane.

Field Detail

highlight

protected Color highlight
The color for drawing the bottom and right edges of the border.

shadow

protected Color shadow
The color for drawing the top and left edges of the border.

Constructor Detail

SplitPaneBorder

public SplitPaneBorder(Color highlight, Color shadow)
Constructs a new border for drawing a JSplitPane in the Basic look and feel. The divider in the middle of the JSplitPane has its own border class, SplitPaneDividerBorder.

Parameters: shadow the shadow color. highlight the highlight color.

Method Detail

getBorderInsets

public Insets getBorderInsets(Component c)
Measures the width of this border.

Parameters: c the component whose border is to be measured, usually an instance of {@link javax.swing.JSplitPane}.

Returns: an Insets object whose left, right, top and bottom fields indicate the width of the border at the respective edge.

isBorderOpaque

public boolean isBorderOpaque()
Determines whether this border fills every pixel in its area when painting.

Returns: false because this border does not paint over the pixels where the divider joins the border.

paintBorder

public void paintBorder(Component c, Graphics g, int x, int y, int width, int height)
Paints the border around a JSplitPane.

[A screen shot for JSplitPane.HORIZONTAL_SPLIT]

[A screen shot for JSplitPane.VERTICAL_SPLIT]

Parameters: c the JSplitPane whose border is to be painted. g the graphics for painting. x the horizontal position for painting the border. y the vertical position for painting the border. width the width of the available area for painting the border. height the height of the available area for painting the border.