<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>NetBeans Platform Tutorial for Integrated Development Environments</title>
        <meta name="AUDIENCE" content="NBUSER"/>
        <meta name="TYPE" content="ARTICLE"/>
        <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css"/>
        <meta name="EXPIRES" content="N"/>
        <meta name="developer" content="gwielenga@netbeans.org"/>
        <meta name="indexed" content="y"/>
        <meta name="description"
              content="A short guide to setting up an geospatial environment
              with the NetBeans Platform."/>
        <!--      Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
        <!--     Use is subject to license terms.-->
    </head>
    <body>

        <h1>NetBeans Platform Tutorial for Integrated Development Environments</h1>

        <p>The NetBeans Platform is a solid infrastructure for
            creating your own software development tools. However, beyond
            individual software development tools, an integrated development environment (IDE)
            assembles multiple disparate tools into a single coherent system.
            NetBeans IDE is itself an example of such a coherent system,
            though there are many others using the NetBeans Platform as
            their basis.</p>

        <p>In this quick start, you are shown how to set up an
            integrated development environment on top of the NetBeans
            Platform.</p>

        <p><b>Contents</b></p>

        <p><img src="../images/articles/72/netbeans-stamp.gif" class="stamp" width="114" height="114" alt="Content on this page applies to NetBeans IDE 7.2" title="Content on this page applies to NetBeans IDE 7.2"/></p>
        <ul class="toc">
            <li>Part 1: <a href="#part1">Creating a Generic Application Basis</a></li>
            <li>Part 2: <a href="#part2">Including Predefined IDE Features</a></li>
            <li>Part 3: <a href="#part3">Coding Custom IDE Features</a></li>
        </ul>

        <p><b>To follow this tutorial, you need the software and resources listed in the following
                table.</b></p>

        <table>
            <tbody>
                <tr>
                    <th class="tblheader" scope="col">Software or Resource</th>
                    <th class="tblheader" scope="col">Version Required</th>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
                    <td class="tbltd1">version 7.2 or above</td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Java Developer Kit (JDK)</a></td>
                    <td class="tbltd1">version 6 or above</td>
                </tr>
            </tbody>
        </table>
        <p></p>
        <p><b class="notes">Note:</b> If you are new to the NetBeans Platform,
            do some background reading before diving into
            this tutorial. In particular, read the <a href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html">Modules API Reference</a> document,
            which explains what modules are and provides some
            context for this tutorial, while noting that there is an extensive Reference Material section
            on the <a href="https://netbeans.org/kb/trails/platform.html">NetBeans Platform Learning Trail</a>.</p>

        <div class="indent">

            <!-- ===================================================================================== -->
            <h2 class="tutorial"><a name="part1"></a>Creating a Generic Application Basis</h2>
            <p>We start by creating a new NetBeans Platform application as a starting
                point for our geospatial system.</p>
            <div class="indent">
                <ol>
                    <li><p>Choose File | New Project and then choose NetBeans Modules.
                            Select "NetBeans Platform Application":</p>
                        <p><img src="../images/tutorials/ide/72/new-project-1.png" alt="step 1 - 1"/></p>
                        <p>Click Next.</p>
                    </li>
                    <li><p>Name your new application "MyIDE" and specify a folder on disk
                            for storing it:</p>
                        <p><img src="../images/tutorials/ide/72/new-project-2.png" alt="step 1 - 2"/></p>
                        <p>Click Finish.
                            The new project appears as follows in the Projects window:</p>
                        <p><img src="../images/tutorials/ide/72/new-project-3.png" alt="step 1 - 3"/></p></li>
                    <li><p>Right-click the application and choose Run. The application
                            deploys and you should see this:</p>
                        <p><img src="../images/tutorials/ide/72/new-project-4.png" alt="step 1 - 4"/></p>
                    </li>
                    <li><p>Explore the menus and toolbars in the application and notice that
                            you have the structure for a generic desktop application:</p>
                        <p><img src="../images/tutorials/ide/72/new-project-5.png" alt="step 1 - 4"/></p>
                    </li>
                </ol>
            </div>
            <!-- ===================================================================================== -->
            <h2 class="tutorial"><a name="part2"></a>Including Predefined IDE Features</h2>
            <p>In this section, we include many additional modules, used in NetBeans IDE, which
                are useful in any other IDE too.</p>
            <div class="indent">
                <ol>
                    <li><p>Right-click the MyIDE project node and choose Properties. In
                            the Libraries panel of the Project Properties dialog, click
                            the "ide" checkbox, as shown below:</p>
                        <p><img src="../images/tutorials/ide/72/new-ide-1.png" alt="step 1 - 1"/></p>
                        <p>Click the red Resolve button to include modules that the modules
                            you included depend on. Click Finish.</p>
                    </li>
                    <li><p>Right-click the application and choose "Clean", to remove the user cache
                            from the previous run and set the application back to its defaults.
                            Then right-click the application and choose Run.
                            The new project appears as follows in the Projects window. Notice
                            that you now have many additional features, all typical to any
                            IDE, which we will explore in more detail in the next section.</p>
                        <p><img src="../images/tutorials/ide/72/new-ide-3.png" alt="step 1 - 3"/></p>
                    </li>
                </ol>
            </div>
            <!-- ===================================================================================== -->
            <h2 class="tutorial"><a name="part3"></a>Coding Custom IDE Features</h2>
            <p>Depending on your needs, you can create custom features in your application
                that integrate with the predefined features you included in the previous section.
                The custom features are described via tutorials on the 
                <a href="https://netbeans.org/features/platform/all-docs.html">NetBeans Platform Learning Trail</a>.
            </p>

        </div>

        <p>Congratulations. You have learned how to create the starting point for your own IDE.</p>

        <div class="feedback-box"><a href="https://netbeans.org/about/contact_form.html?to=3&amp;subject=Feedback:%20NetBeans%20Platform%20for%20NetBeans%20IDE%20Tutorial">Send Us Your Feedback</a></div>

        <!-- ===================================================================================== -->

    </body>

</html>