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
subMenu.addListener(SWT.Hide, passThrough);
			}
		}
	}
	
	/**
	 * The proxy menu is being hidden, so we need to make it go away.
	 * 
	 * @param proxy
	 *            the proxy menu
	 * @since 3.4
	 */
	private void handleHideProxy(final Menu proxy) {
		proxy.removeListener(SWT.Hide, getMenuCreatorListener());
		proxy.getDisplay().asyncExec(new Runnable() {
			public void run() {
				if (!proxy.isDisposed()) {
					MenuItem parentItem = proxy.getParentItem();
					proxy.dispose();
					parentItem.setMenu(holdMenu);
				}
				if (holdMenu != null && !holdMenu.isDisposed()) {
					holdMenu.notifyListeners(SWT.Hide, null);
				}
				holdMenu = null;
			}
		});
	}
}