package de.jos.labelgenerator.dialog.main;
import javax.swing.Action;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
import org.jdesktop.application.Application;
import org.jdesktop.application.ApplicationActionMap;
import org.jdesktop.application.ApplicationContext;
import org.jdesktop.application.ResourceMap;
import de.jos.labelgenerator.AppLogic;
import de.jos.labelgenerator.LabelGeneratorApp;
public class MainDialogMenu extends JMenu {
private final String[] menuActionNames = { "preferences", "---", "quit" };
private final String menuName = "menu.file";
private final ApplicationContext applicationContext = Application.getInstance(LabelGeneratorApp.class).getContext();
private final ResourceMap resourceMap = applicationContext.getResourceMap(MainDialogMenu.class);
public MainDialogMenu(AppLogic appLogic) {
setName(menuName);
setText(resourceMap.getString(menuName));
for (final String actionName : menuActionNames) {
if (actionName.equals("---")) {
add(new JSeparator());
} else {
Action action = getAction(appLogic, actionName);
System.out.println("text: " + action.getValue("text"));
System.out.println("actionName : " + actionName + "" + action);
final JMenuItem menuItem = new JMenuItem();
menuItem.setAction(getAction(appLogic, actionName));
menuItem.setName(actionName);
add(menuItem);
}
}
}
private Action getAction(final Object action, final String actionName) {
final ApplicationActionMap actionMap = applicationContext.getActionMap(action);
return actionMap.get(actionName);
}
}