<!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>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 a development environment
              on NetBeans IDE and the NetBeans Platform."/>
        <!--     Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 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 class="notes">Note:</b> This document uses NetBeans IDE 8.0 and NetBeans Platform 8.0. If you
            are using an earlier version, see <a href="74/nbm-ide.html">the previous version
                of this document</a>.</p>

        <p><b>Contents</b></p>

        <p><img src="../images/articles/81/netbeans-stamp.png" 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 8.0 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 7 or above</td>
                </tr>
            </tbody>
        </table>

        <p class="tips">For troubleshooting purposes, you are welcome to download the <a href="http://java.net/projects/nb-api-samples/sources/api-samples/show/versions/8.0/tutorials/MyIDE">completed tutorial source code</a>.</p>

        <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, expand
                            the "platform" folder and deselect "JavaFX wrapper", since you will
                            not need it in this scenario.
                        </p></li>
                    <li><p>Next, 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:%20Custom%20IDE%20on%20NetBeans%20Platform%208.0%20Tutorial">Send Us Your Feedback</a></div>

        <!-- ===================================================================================== -->

    </body>

</html>