Here is what I'm using for code:
Code: Select all
public abstract class AbstractMopChart extends JPanel implements DataManager2Listener
{
private TimeSeries avgSeries;
private TimeSeries minSeries;
private TimeSeries maxSeries;
private TimeSeriesCollection dataset = new TimeSeriesCollection ();
private Class timeUnit = Hour.class;
ChartPanel chartPanel;
JFreeChart chart;
private int keyLevel;
private int calendarUnit;
private DateAxis domain;
private StandardXYItemRenderer renderer;
private LegendTitle legend;
private JPopupMenu popup;
private AbstractAction actionShowLegend = new ActionShowLegend ();
private AbstractAction actionHideLegend = new ActionHideLegend ();
public AbstractMopChart ()
{
super (new BorderLayout ());
setBackground (MopMainPanel.MopPanelColor);
actionShowLegend = new ActionShowLegend ();
actionHideLegend = new ActionHideLegend ();
createSeries (timeUnit);
domain = new DateAxis ("Time");
domain.setDateFormatOverride (new SimpleDateFormat ("H"));
domain.setTickLabelFont (new Font ("SansSerif", Font.PLAIN, 10));
domain.setLabelFont (new Font ("SansSerif", Font.PLAIN, 12));
renderer = new StandardXYItemRenderer (StandardXYItemRenderer.SHAPES_AND_LINES);
renderer.setSeriesPaint (0, Color.GREEN);
renderer.setSeriesPaint (1, Color.BLUE);
renderer.setSeriesPaint (2, Color.RED);
XYToolTipGenerator generator = new StandardXYToolTipGenerator (
"<html><center>" + " Value={2} " + "<br> Time={1} " + "</center></html>",
new SimpleDateFormat ("hh:mm a MMM-d-yyyy"),
new DecimalFormat ("#,##0.00"));
renderer.setToolTipGenerator (generator);
renderer.setStroke(new BasicStroke(2f,
BasicStroke.CAP_BUTT,
BasicStroke.JOIN_BEVEL));
Arc2D circle = new Arc2D.Float(-1f,-1f,3f,3f,0f,360f,Arc2D.OPEN);
renderer.setShape(circle);
ValueAxis range = createRangeAxis();
XYPlot plot = new XYPlot(dataset, domain, range, renderer);
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
plot.setAxisOffset(new RectangleInsets(3.0, 3.0, 3.0, 3.0));
plot.setForegroundAlpha(0.7f);
domain.setAutoRange(true);
domain.setTickLabelsVisible(true);
chart = new JFreeChart("Generic",
new Font("SansSerif", Font.BOLD, 13),
plot,
true);
chart.setBorderPaint (Color.black);
chart.setBorderVisible (true);
chart.setBackgroundPaint(Color.white);
chartPanel = new ChartPanel (chart,
false, // Show properties menu
true, // Show save
true, // Show print
false, // Show zoom control
true); // Show tooltips
legend = chart.getLegend ();
actionHideLegend.setEnabled (true);
actionShowLegend.setEnabled (false);
addToPopupMenu (chartPanel.getPopupMenu ());
}
-Dennis Klotz[/code]