Package org.jfree.chart.title
Class Title
- java.lang.Object
-
- org.jfree.chart.block.AbstractBlock
-
- org.jfree.chart.title.Title
-
- Direct Known Subclasses:
CompositeTitle
,ImageTitle
,LegendTitle
,PaintScaleLegend
,TextTitle
public abstract class Title extends AbstractBlock implements Block, java.lang.Cloneable, java.io.Serializable
The base class for all chart titles. A chart can have multiple titles, appearing at the top, bottom, left or right of the chart.Concrete implementations of this class will render text and images, and hence do the actual work of drawing titles.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static HorizontalAlignment
DEFAULT_HORIZONTAL_ALIGNMENT
The default horizontal alignment.static RectangleInsets
DEFAULT_PADDING
Default title padding.static RectangleEdge
DEFAULT_POSITION
The default title position.static VerticalAlignment
DEFAULT_VERTICAL_ALIGNMENT
The default vertical alignment.private HorizontalAlignment
horizontalAlignment
The horizontal alignment of the title content.private javax.swing.event.EventListenerList
listenerList
Storage for registered change listeners.private boolean
notify
A flag that can be used to temporarily disable the listener mechanism.private RectangleEdge
position
The title position.private static long
serialVersionUID
For serialization.private VerticalAlignment
verticalAlignment
The vertical alignment of the title content.boolean
visible
A flag that controls whether or not the title is visible.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Title()
Creates a new title, using default attributes where necessary.protected
Title(RectangleEdge position, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment)
Creates a new title, using default attributes where necessary.protected
Title(RectangleEdge position, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment, RectangleInsets padding)
Creates a new title.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addChangeListener(TitleChangeListener listener)
Registers an object for notification of changes to the title.boolean
canEqual(java.lang.Object other)
Ensures symmetry between super/subclass implementations of equals.java.lang.Object
clone()
Returns a clone of the title.abstract void
draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
Draws the title on a Java 2D graphics device (such as the screen or a printer).boolean
equals(java.lang.Object obj)
Tests an object for equality with this title.HorizontalAlignment
getHorizontalAlignment()
Returns the horizontal alignment of the title.boolean
getNotify()
Returns the flag that indicates whether or not the notification mechanism is enabled.RectangleEdge
getPosition()
Returns the position of the title.VerticalAlignment
getVerticalAlignment()
Returns the vertical alignment of the title.int
hashCode()
Returns a hashcode for the title.boolean
isVisible()
Returns a flag that controls whether or not the title should be drawn.protected void
notifyListeners(TitleChangeEvent event)
Notifies all registered listeners that the chart title has changed in some way.private void
readObject(java.io.ObjectInputStream stream)
Provides serialization support.void
removeChangeListener(TitleChangeListener listener)
Unregisters an object for notification of changes to the chart title.void
setHorizontalAlignment(HorizontalAlignment alignment)
Sets the horizontal alignment for the title and sends aTitleChangeEvent
to all registered listeners.void
setNotify(boolean flag)
Sets the flag that indicates whether or not the notification mechanism is enabled.void
setPosition(RectangleEdge position)
Sets the position for the title and sends aTitleChangeEvent
to all registered listeners.void
setVerticalAlignment(VerticalAlignment alignment)
Sets the vertical alignment for the title, and notifies any registered listeners of the change.void
setVisible(boolean visible)
Sets a flag that controls whether or not the title should be drawn, and sends aTitleChangeEvent
to all registered listeners.private void
writeObject(java.io.ObjectOutputStream stream)
Provides serialization support.-
Methods inherited from class org.jfree.chart.block.AbstractBlock
arrange, arrange, calculateTotalHeight, calculateTotalWidth, drawBorder, getBounds, getContentXOffset, getContentYOffset, getFrame, getHeight, getID, getMargin, getPadding, getWidth, setBorder, setBounds, setFrame, setHeight, setID, setMargin, setMargin, setPadding, setPadding, setWidth, toContentConstraint, trimBorder, trimMargin, trimPadding, trimToContentHeight, trimToContentWidth
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
DEFAULT_POSITION
public static final RectangleEdge DEFAULT_POSITION
The default title position.
-
DEFAULT_HORIZONTAL_ALIGNMENT
public static final HorizontalAlignment DEFAULT_HORIZONTAL_ALIGNMENT
The default horizontal alignment.
-
DEFAULT_VERTICAL_ALIGNMENT
public static final VerticalAlignment DEFAULT_VERTICAL_ALIGNMENT
The default vertical alignment.
-
DEFAULT_PADDING
public static final RectangleInsets DEFAULT_PADDING
Default title padding.
-
visible
public boolean visible
A flag that controls whether or not the title is visible.
-
position
private RectangleEdge position
The title position.
-
horizontalAlignment
private HorizontalAlignment horizontalAlignment
The horizontal alignment of the title content.
-
verticalAlignment
private VerticalAlignment verticalAlignment
The vertical alignment of the title content.
-
listenerList
private transient javax.swing.event.EventListenerList listenerList
Storage for registered change listeners.
-
notify
private boolean notify
A flag that can be used to temporarily disable the listener mechanism.
-
-
Constructor Detail
-
Title
protected Title()
Creates a new title, using default attributes where necessary.
-
Title
protected Title(RectangleEdge position, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment)
Creates a new title, using default attributes where necessary.- Parameters:
position
- the position of the title (null
not permitted).horizontalAlignment
- the horizontal alignment of the title (null
not permitted).verticalAlignment
- the vertical alignment of the title (null
not permitted).
-
Title
protected Title(RectangleEdge position, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment, RectangleInsets padding)
Creates a new title.- Parameters:
position
- the position of the title (null
not permitted).horizontalAlignment
- the horizontal alignment of the title (LEFT, CENTER or RIGHT,null
not permitted).verticalAlignment
- the vertical alignment of the title (TOP, MIDDLE or BOTTOM,null
not permitted).padding
- the amount of space to leave around the outside of the title (null
not permitted).
-
-
Method Detail
-
isVisible
public boolean isVisible()
Returns a flag that controls whether or not the title should be drawn. The default value istrue
.- Returns:
- A boolean.
- See Also:
setVisible(boolean)
-
setVisible
public void setVisible(boolean visible)
Sets a flag that controls whether or not the title should be drawn, and sends aTitleChangeEvent
to all registered listeners.- Parameters:
visible
- the new flag value.- See Also:
isVisible()
-
getPosition
public RectangleEdge getPosition()
Returns the position of the title.- Returns:
- The title position (never
null
).
-
setPosition
public void setPosition(RectangleEdge position)
Sets the position for the title and sends aTitleChangeEvent
to all registered listeners.- Parameters:
position
- the position (null
not permitted).
-
getHorizontalAlignment
public HorizontalAlignment getHorizontalAlignment()
Returns the horizontal alignment of the title.- Returns:
- The horizontal alignment (never
null
).
-
setHorizontalAlignment
public void setHorizontalAlignment(HorizontalAlignment alignment)
Sets the horizontal alignment for the title and sends aTitleChangeEvent
to all registered listeners.- Parameters:
alignment
- the horizontal alignment (null
not permitted).
-
getVerticalAlignment
public VerticalAlignment getVerticalAlignment()
Returns the vertical alignment of the title.- Returns:
- The vertical alignment (never
null
).
-
setVerticalAlignment
public void setVerticalAlignment(VerticalAlignment alignment)
Sets the vertical alignment for the title, and notifies any registered listeners of the change.- Parameters:
alignment
- the new vertical alignment (TOP, MIDDLE or BOTTOM,null
not permitted).
-
getNotify
public boolean getNotify()
Returns the flag that indicates whether or not the notification mechanism is enabled.- Returns:
- The flag.
-
setNotify
public void setNotify(boolean flag)
Sets the flag that indicates whether or not the notification mechanism is enabled. There are certain situations (such as cloning) where you want to turn notification off temporarily.- Parameters:
flag
- the new value of the flag.
-
draw
public abstract void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
Draws the title on a Java 2D graphics device (such as the screen or a printer).
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns a clone of the title.One situation when this is useful is when editing the title properties - you can edit a clone, and then it is easier to cancel the changes if necessary.
- Overrides:
clone
in classAbstractBlock
- Returns:
- A clone of the title.
- Throws:
java.lang.CloneNotSupportedException
- not thrown by this class, but it may be thrown by subclasses.
-
addChangeListener
public void addChangeListener(TitleChangeListener listener)
Registers an object for notification of changes to the title.- Parameters:
listener
- the object that is being registered.
-
removeChangeListener
public void removeChangeListener(TitleChangeListener listener)
Unregisters an object for notification of changes to the chart title.- Parameters:
listener
- the object that is being unregistered.
-
notifyListeners
protected void notifyListeners(TitleChangeEvent event)
Notifies all registered listeners that the chart title has changed in some way.- Parameters:
event
- an object that contains information about the change to the title.
-
equals
public boolean equals(java.lang.Object obj)
Tests an object for equality with this title.- Overrides:
equals
in classAbstractBlock
- Parameters:
obj
- the object (null
not permitted).- Returns:
true
orfalse
.
-
canEqual
public boolean canEqual(java.lang.Object other)
Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.- Overrides:
canEqual
in classAbstractBlock
- Parameters:
other
- Object- Returns:
- true ONLY if the parameter is THIS class type
-
hashCode
public int hashCode()
Returns a hashcode for the title.- Overrides:
hashCode
in classAbstractBlock
- Returns:
- The hashcode.
-
writeObject
private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException
Provides serialization support.- Parameters:
stream
- the output stream.- Throws:
java.io.IOException
- if there is an I/O error.
-
readObject
private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, java.lang.ClassNotFoundException
Provides serialization support.- Parameters:
stream
- the input stream.- Throws:
java.io.IOException
- if there is an I/O error.java.lang.ClassNotFoundException
- if there is a classpath problem.
-
-