DevFaqGetNameOfProjectGroup
How to get the name of the active project group
Variant I: "use OpenProjects API" (since NB7.3)
org.netbeans.api.project.ui.OpenProjects.getDefault().getActiveProjectGroup().getName()
This approach uses a public API which is known to be stable for future versions. Since 7.3.
Variant II: "direct access to properties"-hack
Note: this is rather a hack. It is not guaranteed that this will work for newer NetBeans versions. But this approach is known to work at least with NB 6.9.1 to 7.3.
/** * * @return name of the current project group or null */ public String getActiveProjectGroup() { Preferences groupNode = getPreferences("org/netbeans/modules/projectui/groups"); if (null != groupNode) { final String groupId = groupNode.get("active", null); if (null != groupId) { final Preferences groupPref = getPreferences("org/netbeans/modules/projectui/groups/" + groupId); if (null != groupPref) { final String activeProjectGroup = groupPref.get("name", null); return activeProjectGroup; } } } return null; } /** * Get the preference for the given node path. * * @param path configuration path like "org/netbeans/modules/projectui" * @return {@link Preferences} or null */ private Preferences getPreferences(String path) { try { if (NbPreferences.root().nodeExists(path)) { return NbPreferences.root().node(path); } } catch (BackingStoreException ex) { Exceptions.printStackTrace(ex); } return null; }