/** * Notifies <code>ActionListener</code>s that an option was chosen. * * @param optionModel the selected <code>OptionModel</code> */ protected void fireActionPerformed(OptionModel optionModel) { if (!hasEventListenerList()) { return; } ActionEvent e = new ActionEvent(this, optionModel.getId()); EventListener[] listeners = getEventListenerList().getListeners(ActionListener.class); for (int i = 0; i < listeners.length; ++i) { ((ActionListener) listeners[i]).actionPerformed(e); } }
/** * Programmatically performs a menu action. * * @param optionModel the <code>OptionModel</code> whose action is to be invoked */ public void doAction(OptionModel optionModel) { if (getStateModel() != null && !getStateModel().isEnabled(optionModel.getId())) { // Do nothing, item is disabled. return; } if (getStateModel() != null && optionModel instanceof ToggleOptionModel) { if (optionModel instanceof RadioOptionModel) { RadioOptionModel radioOptionModel = (RadioOptionModel) optionModel; deselectGroup(getModel(), radioOptionModel.getGroupId(), radioOptionModel.getId()); getStateModel().setSelected(radioOptionModel.getId(), true); } else { ToggleOptionModel toggleOptionModel = (ToggleOptionModel) optionModel; getStateModel() .setSelected( toggleOptionModel.getId(), !getStateModel().isSelected(toggleOptionModel.getId())); } firePropertyChange(STATE_MODEL_CHANGED_PROPERTY, null, null); } fireActionPerformed(optionModel); }