private void createActions() {
		// create the menu items and listeners
		createToolAction = new DockingAction("Create Tool", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext context) {
				createNewTool();
			}
		};
		createToolAction.setKeyBindingData(
			new KeyBindingData(NEWTOOL_ACCELERATOR, ActionEvent.CTRL_MASK));
		createToolAction.setMenuBarData(new MenuData(
			new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_CREATE_TOOL }, null, "ATools"));
		createToolAction.setEnabled(false);
		createToolAction.setHelpLocation(
			new HelpLocation(ToolConstants.TOOL_HELP_TOPIC, "Create_Tool"));

		tool.addAction(createToolAction);

		importAction = new DockingAction("Import Tool", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext e) {
				importTool();
			}
		};
		importAction.setMenuBarData(new MenuData(
			new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_IMPORT_TOOL }, null, "DTools"));
		importAction.setHelpLocation(
			new HelpLocation(ToolConstants.TOOL_HELP_TOPIC, "Import Tool"));
		importAction.setEnabled(false);

		tool.addAction(importAction);

		importDefaultToolsAction = new DockingAction("Import Ghidra Tools", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext e) {
				addDefaultTools();
			}
		};
		importDefaultToolsAction.setMenuBarData(
			new MenuData(new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_IMPORT_DEFAULT_TOOLS },
				null, "DTools"));
		importDefaultToolsAction.setHelpLocation(
			new HelpLocation(ToolConstants.TOOL_HELP_TOPIC, "Import Ghidra Tools"));
		importDefaultToolsAction.setEnabled(false);
		tool.addAction(importDefaultToolsAction);

		connectToolsAction = new DockingAction("Connect Tools", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext e) {
				connectTools();
			}
		};
		connectToolsAction.setMenuBarData(new MenuData(
			new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_CONNECT_TOOLS }, null, "ETools"));
		connectToolsAction.setEnabled(false);
		tool.addAction(connectToolsAction);

		setToolAssociationsAction = new DockingAction("Set Tool Associations", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext context) {
				showToolAssociationsDialog();
			}
		};
		setToolAssociationsAction.setEnabled(false);
		setToolAssociationsAction.setMenuBarData(new MenuData(
			new String[] { ToolConstants.MENU_TOOLS, "Set Tool Associations..." }, null, "FTools"));
		tool.addAction(setToolAssociationsAction);

		setToolAssociationsAction.setHelpLocation(
			new HelpLocation(ToolConstants.TOOL_HELP_TOPIC, "Set Tool Associations"));

		tool.setMenuGroup(new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_RUN_TOOL }, "BTools");
		tool.setMenuGroup(new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_DELETE_TOOL },
			"CTools");
		tool.setMenuGroup(new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_EXPORT_TOOL },
			"DTools");
		tool.setMenuGroup(new String[] { ToolConstants.MENU_TOOLS, MENU_ITEM_SET_DEFAULT_TOOL },
			"FTools");

		// populate the menu items corresponding to the tool templates
		// in the project's toolchest
		populateToolMenus(plugin.getActiveProject());
	}
Helper class to manage actions on the Tool menu.
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/ToolActionManager.java