org.jfree.chart.block

Class AbstractBlock

Implemented Interfaces:
Cloneable, Serializable
Known Direct Subclasses:
BlockContainer, ColorBlock, EmptyBlock, LabelBlock, LegendGraphic, Title

public class AbstractBlock
extends java.lang.Object
implements Cloneable, Serializable

A convenience class for creating new classes that implement the Block interface.

Constructor Summary

AbstractBlock()
Creates a new block.

Method Summary

Size2D
arrange(Graphics2D g2)
Arranges the contents of the block, with no constraints, and returns the block size.
Size2D
arrange(Graphics2D g2, RectangleConstraint constraint)
Arranges the contents of the block, within the given constraints, and returns the block size.
protected double
calculateTotalHeight(double contentHeight)
Adds the margin, border and padding to the specified content height.
protected double
calculateTotalWidth(double contentWidth)
Adds the margin, border and padding to the specified content width.
Object
clone()
Returns a clone of this block.
protected void
drawBorder(Graphics2D g2, Rectangle2D area)
Draws the border around the perimeter of the specified area.
boolean
equals(Object obj)
Tests this block for equality with an arbitrary object.
BlockBorder
getBorder()
Deprecated. Use getBlockFrame() instead.
Rectangle2D
getBounds()
Returns the current bounds of the block.
double
getContentXOffset()
Returns the x-offset for the content within the block.
double
getContentYOffset()
Returns the y-offset for the content within the block.
BlockFrame
getFrame()
Returns the current frame (border).
double
getHeight()
Returns the natural height of the block, if this is known in advance.
String
getID()
Returns the id.
RectangleInsets
getMargin()
Returns the margin.
RectangleInsets
getPadding()
Returns the padding.
double
getWidth()
Returns the natural width of the block, if this is known in advance.
void
setBorder(double top, double left, double bottom, double right)
Sets a black border with the specified line widths.
void
setBorder(BlockBorder border)
Deprecated. Use setBorderFrame() instead.
void
setBounds(Rectangle2D bounds)
Sets the bounds of the block.
void
setFrame(BlockFrame frame)
Sets the frame (or border).
void
setHeight(double height)
Sets the natural width of the block, if this is known in advance.
void
setID(String id)
Sets the id for the block.
void
setMargin(RectangleInsets margin)
Sets the margin (use RectangleInsets.ZERO_INSETS for no padding).
void
setMargin(double top, double left, double bottom, double right)
Sets the margin.
void
setPadding(RectangleInsets padding)
Sets the padding (use RectangleInsets.ZERO_INSETS for no padding).
void
setPadding(double top, double left, double bottom, double right)
Sets the padding.
void
setWidth(double width)
Sets the natural width of the block, if this is known in advance.
protected RectangleConstraint
toContentConstraint(RectangleConstraint c)
Returns a constraint for the content of this block that will result in the bounds of the block matching the specified constraint.
protected Rectangle2D
trimBorder(Rectangle2D area)
Reduces the specified area by the amount of space consumed by the border.
protected Rectangle2D
trimMargin(Rectangle2D area)
Reduces the specified area by the amount of space consumed by the margin.
protected Rectangle2D
trimPadding(Rectangle2D area)
Reduces the specified area by the amount of space consumed by the padding.
protected double
trimToContentHeight(double fixedHeight)
Calculate the height available for content after subtracting the margin, border and padding space from the specified fixed height.
protected double
trimToContentWidth(double fixedWidth)
Calculate the width available for content after subtracting the margin, border and padding space from the specified fixed width.

Constructor Details

AbstractBlock

protected AbstractBlock()
Creates a new block.

Method Details

arrange

public Size2D arrange(Graphics2D g2)
Arranges the contents of the block, with no constraints, and returns the block size.
Parameters:
g2 - the graphics device.
Returns:
The block size (in Java2D units, never null).

arrange

public Size2D arrange(Graphics2D g2,
                      RectangleConstraint constraint)
Arranges the contents of the block, within the given constraints, and returns the block size.
Parameters:
g2 - the graphics device.
constraint - the constraint (null not permitted).
Returns:
The block size (in Java2D units, never null).

calculateTotalHeight

protected double calculateTotalHeight(double contentHeight)
Adds the margin, border and padding to the specified content height.
Parameters:
contentHeight - the content height.
Returns:
The adjusted height.

calculateTotalWidth

protected double calculateTotalWidth(double contentWidth)
Adds the margin, border and padding to the specified content width.
Parameters:
contentWidth - the content width.
Returns:
The adjusted width.

clone

public Object clone()
            throws CloneNotSupportedException
Returns a clone of this block.
Returns:
A clone.

drawBorder

protected void drawBorder(Graphics2D g2,
                          Rectangle2D area)
Draws the border around the perimeter of the specified area.
Parameters:
g2 - the graphics device.
area - the area.

equals

public boolean equals(Object obj)
Tests this block for equality with an arbitrary object.
Parameters:
obj - the object (null permitted).
Returns:
A boolean.

getBorder

public BlockBorder getBorder()

Deprecated. Use getBlockFrame() instead.

Returns the border.
Returns:
The border (never null).

getBounds

public Rectangle2D getBounds()
Returns the current bounds of the block.
Returns:
The bounds.

getContentXOffset

public double getContentXOffset()
Returns the x-offset for the content within the block.
Returns:
The x-offset.

getContentYOffset

public double getContentYOffset()
Returns the y-offset for the content within the block.
Returns:
The y-offset.

getFrame

public BlockFrame getFrame()
Returns the current frame (border).
Returns:
The frame.
Since:
1.0.5

getHeight

public double getHeight()
Returns the natural height of the block, if this is known in advance. The actual height of the block may be overridden if layout constraints make this necessary.
Returns:
The height.

getID

public String getID()
Returns the id.
Returns:
The id (possibly null).
See Also:
setID(String)

getMargin

public RectangleInsets getMargin()
Returns the margin.
Returns:
The margin (never null).
See Also:
getMargin()

getPadding

public RectangleInsets getPadding()
Returns the padding.
Returns:
The padding (never null).

getWidth

public double getWidth()
Returns the natural width of the block, if this is known in advance. The actual width of the block may be overridden if layout constraints make this necessary.
Returns:
The width.

setBorder

public void setBorder(double top,
                      double left,
                      double bottom,
                      double right)
Sets a black border with the specified line widths.
Parameters:
top - the top border line width.
left - the left border line width.
bottom - the bottom border line width.
right - the right border line width.

setBorder

public void setBorder(BlockBorder border)

Deprecated. Use setBorderFrame() instead.

Sets the border for the block (use BlockBorder.NONE for no border).
Parameters:
border - the border (null not permitted).
See Also:
getBorder()

setBounds

public void setBounds(Rectangle2D bounds)
Sets the bounds of the block.
Parameters:
bounds - the bounds (null not permitted).
See Also:
getBounds()

setFrame

public void setFrame(BlockFrame frame)
Sets the frame (or border).
Parameters:
frame - the frame (null not permitted).
Since:
1.0.5

setHeight

public void setHeight(double height)
Sets the natural width of the block, if this is known in advance.
Parameters:
height - the width (in Java2D units)
See Also:
getHeight()

setID

public void setID(String id)
Sets the id for the block.
Parameters:
id - the id (null permitted).
See Also:
getID()

setMargin

public void setMargin(RectangleInsets margin)
Sets the margin (use RectangleInsets.ZERO_INSETS for no padding).
Parameters:
margin - the margin (null not permitted).
See Also:
getMargin()

setMargin

public void setMargin(double top,
                      double left,
                      double bottom,
                      double right)
Sets the margin.
Parameters:
top - the top margin.
left - the left margin.
bottom - the bottom margin.
right - the right margin.
See Also:
getMargin()

setPadding

public void setPadding(RectangleInsets padding)
Sets the padding (use RectangleInsets.ZERO_INSETS for no padding).
Parameters:
padding - the padding (null not permitted).
See Also:
getPadding()

setPadding

public void setPadding(double top,
                       double left,
                       double bottom,
                       double right)
Sets the padding.
Parameters:
top - the top padding.
left - the left padding.
bottom - the bottom padding.
right - the right padding.

setWidth

public void setWidth(double width)
Sets the natural width of the block, if this is known in advance.
Parameters:
width - the width (in Java2D units)
See Also:
getWidth()

toContentConstraint

protected RectangleConstraint toContentConstraint(RectangleConstraint c)
Returns a constraint for the content of this block that will result in the bounds of the block matching the specified constraint.
Parameters:
c - the outer constraint (null not permitted).
Returns:
The content constraint.

trimBorder

protected Rectangle2D trimBorder(Rectangle2D area)
Reduces the specified area by the amount of space consumed by the border.
Parameters:
area - the area (null not permitted).
Returns:
The trimmed area.

trimMargin

protected Rectangle2D trimMargin(Rectangle2D area)
Reduces the specified area by the amount of space consumed by the margin.
Parameters:
area - the area (null not permitted).
Returns:
The trimmed area.

trimPadding

protected Rectangle2D trimPadding(Rectangle2D area)
Reduces the specified area by the amount of space consumed by the padding.
Parameters:
area - the area (null not permitted).
Returns:
The trimmed area.

trimToContentHeight

protected double trimToContentHeight(double fixedHeight)
Calculate the height available for content after subtracting the margin, border and padding space from the specified fixed height.
Parameters:
fixedHeight - the fixed height.
Returns:
The available space.

trimToContentWidth

protected double trimToContentWidth(double fixedWidth)
Calculate the width available for content after subtracting the margin, border and padding space from the specified fixed width.
Parameters:
fixedWidth - the fixed width.
Returns:
The available space.