Apache NetBeans Wiki Index

Note: These pages are being reviewed.

How do I identify the "main project"?

Project mainProject = org.netbeans.api.project.ui.OpenProjects.getDefault().getMainProject();

For this, you need to declare dependencies on Project UI API, Project API and File System API.

As an example usage of the above line of code, here is an action that display a JOptionPane containing the path to the main project, if a project is selected:

public final class ShowMainProjectAction extends CookieAction {

    protected void performAction(Node[] activatedNodes) {
        String projectPath = OpenProjects.getDefault().getMainProject().getProjectDirectory().getPath();
        JOptionPane.showMessageDialog(null, projectPath);

    protected int mode() {
        return CookieAction.MODE_EXACTLY_ONE;

    public String getName() {
        return NbBundle.getMessage(ShowMainProjectAction.class, "CTL_ShowMainProjectAction");

    protected Class[] cookieClasses() {
        return new Class[]{Project.class};

    protected void initialize() {
        // see org.openide.util.actions.SystemAction.iconResource() Javadoc for more details
        putValue("noIconInMenu", Boolean.TRUE);

    public HelpCtx getHelpCtx() {
        return HelpCtx.DEFAULT_HELP;

    protected boolean asynchronous() {
        return false;

Apache Migration Information

The content in this page was kindly donated by Oracle Corp. to the Apache Software Foundation.

This page was exported from http://wiki.netbeans.org/DevFaqIdentifyMain , that was last modified by NetBeans user Admin on 2009-11-06T15:46:33Z.

NOTE: This document was automatically converted to the AsciiDoc format on 2018-02-07, and needs to be reviewed.