Bug 36446 [Contributions] widgets: Associating Actions with Buttons
Actions can be associated with Menu items , and tool bar items using MenuManager and ToolBarManager but there is not way to associate Action with a regular button and obtaining a reference to that button the closest thing is creating an ActionContributionItem with the desired action in its constructor , then filling the parent composite with ActionContributionItem.fill(Control parent) this creats the button , but it doesn't return a reference to that button , so for example i can't give it any layout data i suggest the ActionContributionItem.fill(Control parent) returns the created widget
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
mi.addHelpListener(action.getHelpListener());
			}
			if (flags == SWT.CASCADE) {
				 
				
				Menu subMenu = new Menu(parent);
				subMenu.addListener(SWT.Show, getMenuCreatorListener());
				subMenu.addListener(SWT.Hide, getMenuCreatorListener());
				mi.setMenu(subMenu);
			}
			update(null);
			
			action.addPropertyChangeListener(propertyListener);
			if (action != null) {
				String commandId = action.getActionDefinitionId();
				ExternalActionManager.ICallback callback = ExternalActionManager
						.getInstance().getCallback();
				if ((callback != null) && (commandId != null)) {
					callback.addPropertyChangeListener(commandId,
							actionTextListener);
				}
			}
		}
	}
	/**
	 * The <code>ActionContributionItem</code> implementation of this ,
	 * <code>IContributionItem</code> method creates an SWT
	 * <code>ToolItem</code> for the action using the action's style. If the
	 * action's checked property has been set, a button is created and primed to
	 * the value of the checked property. If the action's menu creator property