info.monitorenter.gui.chart.annotations
Interface IAnnotationCreator

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
AnnotationCreatorBubble

public interface IAnnotationCreator
extends java.io.Serializable

An interface for creation of visible annotations.

This is a creational interface that allows implementors to return a JComponent that will be used as "content area" of the visible annotation.

This factory is configured to every Chart2D instance by calling ChartPanel.setAnnotationCreator(IAnnotationCreator).

Version:
$Revision: 1.1 $
Author:
Achim Westermann

Method Summary
 javax.swing.JComponent createAnnotationView(ChartPanel chart, ITracePoint2D point, AAnnotationContentComponent annotationPainter, boolean useDragListenerOnAnnotationContent, boolean useTitleBar)
          Factory method to create a JComponent that annotates the given ITracePoint.
 

Method Detail

createAnnotationView

javax.swing.JComponent createAnnotationView(ChartPanel chart,
                                            ITracePoint2D point,
                                            AAnnotationContentComponent annotationPainter,
                                            boolean useDragListenerOnAnnotationContent,
                                            boolean useTitleBar)
Factory method to create a JComponent that annotates the given ITracePoint.

The returned component will be the "content area" of the visible annotation. It's method Component.getPreferredSize() will be used to define the overall size of the visible annotation.

The returned component may have it's own mouse listeners because dragging of the annotation will be supported by a separate title bar part. However it may also use the given dragListener via Component.addMouseListener(java.awt.event.MouseListener) and Component.addMouseMotionListener(java.awt.event.MouseMotionListener) if the "content area" of the visible annotation should only support dragging the annotation and a right - click menu for basic operations.

The implementation should build a complete annotation view with all required event listeners that contains at least the annotation content component that given here.

Parameters:
chart - the chart panel to add the annotation to, potentially needed for the removal of the annotation view when it's optional title bar close icon is pressed.
point - the point that is annotated.
useDragListenerOnAnnotationContent - if true the content area that contains the information of the annotation will support drag and drop as well as a basic right click popup menu.
annotationPainter - the content component of the annotation that will display the information of the annotation.
useTitleBar - if true, a title bar with close button for the annotation will be shown.
Returns:
the component that will be displayed as an annotation of the given point.


Copyright © 2001 - 2010 LGPL, All Rights Footloose.