Class Title

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Block, Drawable
    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 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.
      • 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 is true.
        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 a TitleChangeEvent 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 a TitleChangeEvent 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 a TitleChangeEvent 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).
        Specified by:
        draw in interface Drawable
        Parameters:
        g2 - the graphics device.
        area - the area allocated for the title (subclasses should not draw outside this area).
      • 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 class AbstractBlock
        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 class AbstractBlock
        Parameters:
        obj - the object (null not permitted).
        Returns:
        true or false.
      • 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 class AbstractBlock
        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 class AbstractBlock
        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.