package jas.util; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Observable; import java.util.Observer; import javax.swing.JRadioButtonMenuItem; public class JASRadioMenuItem extends JRadioButtonMenuItem implements Observer,ActionListener,JASCheckboxState, CommandSource { public JASRadioMenuItem() { super(); setEnabled(false); Application.getApplication().getCommandManager().add(this); // register with CommandTargetManager addActionListener(this); } public void actionPerformed(ActionEvent evt) { m_target.invoke(); } public void setCheckbox(boolean state) { setSelected(state); } 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 setEnabled(boolean state) { super.setEnabled(state); } private SimpleCommandTarget m_target = null; }