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
* @param proxy
	 *            the proxy menu to populate
	 * @since 3.4
	 */
	private void copyMenu(Menu realMenu, Menu proxy) {
		if (realMenu.isDisposed() || proxy.isDisposed()) {
			return;
		}
		
		
		
		realMenu.notifyListeners(SWT.Show, null);
		final Listener passThrough = new Listener() {
			public void handleEvent(Event event) {
				if (!event.widget.isDisposed()) {
					Widget realItem = (Widget) event.widget.getData();
					if (!realItem.isDisposed()) {
						int style = event.widget.getStyle();
						if (event.type == SWT.Selection
								&& ((style & (SWT.TOGGLE | SWT.CHECK)) != 0)
								&& realItem instanceof MenuItem) {
							((MenuItem) realItem)
									.setSelection(((MenuItem) event.widget)
											.getSelection());
						}
						event.widget = realItem;
						realItem.notifyListeners(event.type, event);
					}
				}
			}