| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = DevFaqInvokeActionProgrammatically |
| :jbake-type: wiki |
| :jbake-tags: wiki, devfaq, needsreview |
| :jbake-status: published |
| |
| === How do I invoke an action programmatically? |
| |
| Use `FileUtil.getConfigObject()` |
| |
| [source,java] |
| ---- |
| |
| //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 |
| |
| [source,java] |
| ---- |
| |
| //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) |
| |
| [source,java] |
| ---- |
| |
| //provide category and classname |
| Action action=org.openide.awt.Actions.forID("Window", "org.netbeans.core.windows.actions.MaximizeWindowAction"); |
| action.actionPerformed(ev); |
| ---- |
| |
| See |
| |
| * link:http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/FileUtil.html#getConfigObject(java.lang.String,%20java.lang.Class[http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/FileUtil.html#getConfigObject(java.lang.String,%20java.lang.Class]) |
| * link:http://bits.netbeans.org/dev/javadoc/org-openide-awt/org/openide/awt/Actions.html#forID(java.lang.String,%20java.lang.String[http://bits.netbeans.org/dev/javadoc/org-openide-awt/org/openide/awt/Actions.html#forID(java.lang.String,%20java.lang.String]) |
| |
| === Apache Migration Information |
| |
| The content in this page was kindly donated by Oracle Corp. to the |
| Apache Software Foundation. |
| |
| This page was exported from link:http://wiki.netbeans.org/DevFaqInvokeActionProgrammatically[http://wiki.netbeans.org/DevFaqInvokeActionProgrammatically] , |
| that was last modified by NetBeans user Markiewb |
| on 2016-07-23T12:51:30Z. |
| |
| |
| *NOTE:* This document was automatically converted to the AsciiDoc format on 2018-01-10, and needs to be reviewed. |