package jas.util; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Observable; import java.util.Observer; import javax.swing.JButton; public class JASToolBarButton extends JButton implements Observer,ActionListener,JASState,CommandSource { public JASToolBarButton() { setEnabled(false); Application.getApplication().getCommandManager().add(this); 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; }