package jas2.util;

import javax.swing.*;
import java.awt.event.*;
import java.util.*;

public class JASMenuItem 
	extends JMenuItem 
	implements Observer,ActionListener,JASState, CommandSource
{
	public JASMenuItem()
	{
		super();
		setEnabled(false);
		Application.getApplication().getCommandManager().add(this); // register with CommandTargetManager
		addActionListener(this);
	}
	public JASMenuItem(String s, char mnemonic)
	{
		super(s, mnemonic);
		setEnabled(false);
		Application.getApplication().getCommandManager().add(this); // register with CommandTargetManager
		addActionListener(this);
	}
	public boolean setTarget(CommandTarget t)
	{
		if (t instanceof SimpleCommandTarget)
		{
			m_target = (SimpleCommandTarget) t;
			m_target.enable(this);
			return true;
		}
		else return false;
	}
	public void clearTarget()
	{
		m_target = null;
		setEnabled(false);
	}
	public CommandTarget getTarget()
	{
		return m_target;
	}
	public String getCommand()
	{
		return getActionCommand();
	}
	public void update(Observable o, Object arg)
	{
		m_target.enable(this);
	}
	public void actionPerformed(ActionEvent evt)
	{
		m_target.invoke();
	}
	public void setEnabled(boolean state)
	{
		super.setEnabled(state);
	}
	private SimpleCommandTarget m_target = null;
}

 

Ads help maintain this website.