DevFaqInvokeActionProgrammatically

How do I invoke an action programmatically?

Use FileUtil.getConfigObject()

//provide the path to your action instance
Action action = FileUtil.getConfigObject("Actions/Window/org-netbeans-core-windows-actions-MaximizeWindowAction.instance", Action.class);
action.actionPerformed(ev);

or

//provide the path to the action folder
List<? extends Action> actions = org.openide.util.Utilities.actionsForPath("Navigation/Hierarchy/text/x-java/Actions")
//Bonus: Create a popupmenu from these actions
//Action[] aactions = actions.toArray(new Action[]{});
//JPopupMenu menu = Utilities.actionsToPopup(aactions, getLookup());

or Actions.forID() (since NB 7.2)

//provide category and classname
Action action=org.openide.awt.Actions.forID("Window", "org.netbeans.core.windows.actions.MaximizeWindowAction");
action.actionPerformed(ev);


See

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo