Does anyone know how to edit the menus shown in the skeleton created by the Netbeans platform?
Thanks in advance for the time you will spend trying to help me.
NetBeans Platform Application.A project that groups a set of module projects and library wrapper module projects that have dependencies on each other, and lets you deploy them together as a unit. Automatically included are a subset of the modules that make up the NetBeans Platform.
Managing Platforms in NetBeans IDE You can use the Java Platform Manager to manually register other platforms in NetBeans IDE as necessary. To access the Java Platform Manager do one of the following: On the Tools menu, select Java Platforms. When creating a project, click Manage Platforms.
NetBeans IDE supports development of all Java application types (Java SE (including JavaFX), Java ME, web, EJB and mobile applications) out of the box. Among other features are an Ant-based project system, Maven support, refactorings, version control (supporting CVS, Subversion, Git, Mercurial and Clearcase).
Preamble: the only way to edit menu items that are present in the platform is through one of your own modules. This means that in order to remove or rename a menu item in another module you must first add a module to your application. Your application is not itself a module but a (potential) collection of modules.
The simplest way to edit the menus for an NB Platform based application is the following:
Important Files
nodeXML Layer
node (assuming the module has a layer file¹)This layer in context
nodeMenu Bar
nodeDelete
This will add the necessary entries to your modules layer file (_hidden entry) and as long as this module is loaded these menus and menu items will not be loaded. If you want to restore an item in the future you can either remove the entry from the layer file or right-click the item and select Restore
.
Edit
Here's a method for renaming a menu item:
name
of "SystemFileSystem.localizingBundle"Branding...
)Resource Bundles
tabThe name of the menu item will be located in this Bundle's node. Just edit this and it will be changed in your application. The key here is to locate the Bundle that the menu item is named in.
Here's a method for replacing a menu item's action:
originalFile
value (you're only looking for the .instance
declaration)²delegate
attribute you can redefine what action is used for this menu itemThe point here is to override the menu item's action definition in your layer file, replacing the action with your own. You can also use this technique to override the display name of the action but the Branding technique is simpler if you don't need to replace the action as well.
¹If your module doesn't have a layer file you'll need to create one before you can use this technique. This requires that you create a layer.xml
file in one of your module's packages. Then you need to register this file in your Modules Manifest file using the following OpenIDE-Module-Layer: com/example/mymodule/layer.xml
²For this step you can highlight the .instance
name of the originalValue
attribute's value and press Ctrl + F. For example, if the originalValue
attribute's value is Actions/Window/org-netbeans-core-windows-actions-RecentViewListAction.instance
you want to highlight only the org-netbeans-core-windows-actions-RecentViewListAction.instance
part. The point here is to find where the action is defined (this part of the layer file is only adding the action to the menu).
In addition to what has been nicely explained above, here is a simple trick to add your own global menu item without even looking to the XML file content:
PS: you can also add a category to the Toolbar as you did for the Menu Bar. Thank you
I'm not sure what exactly you want to do, but the layer.xml file is usually the place to do such changes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With