package jas2.plot;

import jas2.plot.java2.PlotGraphics12;

import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.LayoutManager2;
import java.util.Enumeration;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPopupMenu;

/**
 * Represents a plot legend
 */
public class Legend extends MovableObject
{

    private SetablePlotGraphics pg = new PlotGraphics12();

        /** 
	 * Create an empty legend
	 */
	public Legend()
	{
		super("Legend");
		setLayout(new LegendLayout());
		setBorder(BorderFactory.createLineBorder(Color.black));
	}
	/**
	 * Adds a legend entry to a legend
	 */
	public void add(final LegendEntry e)
	{
		super.add(new LegendComponent(e));
		EditableLabel label = new EditableLabel(e.getTitle(),"Legend Entry",JLabel.LEFT)
		{
			protected void fireActionPerformed()
			{
				super.fireActionPerformed();
				if (e instanceof MutableLegendEntry) ((MutableLegendEntry) e).setTitle(getText());
			}
		};
		label.setShowFontMenuItem(false);
		super.add(label);
	}
	/**
	 * Removes a legend entry from a legend
	 */
	public void remove(LegendEntry e)
	{
		int n = getComponentCount();
		for (int i=0; i 0) menu.addSeparator();
		menu.add(new FontMenuItem(this,getPrefix()));
		super.modifyPopupMenu(menu,source);
	}
	public void setFont(Font font)
	{
		super.setFont(font);
		int n = getComponentCount();
		for (int i=1; i 

Ads help maintain this website.