<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
    <head>  
        <title>NetBeans IDE - JavaFX</title>
        <meta http-equiv="content-language" content="en">
        <meta name="description" content="DESCRIPTION HERE">
        <link rel="stylesheet" type="text/css" href="../../features.css">
        <link rel="stylesheet" type="text/css" href="/images_www/js/colorbox/colorbox.css">
    </head>
    <body>
        <script type="text/javascript" src="/images_www/js/colorbox/jquery.colorbox-min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                $('a.cbox').colorbox({rel: 'cbox', opacity: 0.7});
            });
        </script>
        <div style="margin:10px 20px 0px 0px;">
            <h1>JavaFX</h1>
            <p class="xintro">
                <a href="../../images_www/v7/3/features/client-javafx-main-full.png"><img
                        src="../../images_www/v7/3/features/client-javafx-main-cut.png"
                        alt="Java editor features in NetBeans IDE"  
                        ><br>
                    <span class="font-11">Click image for fullscreen preview</span></a> 
            </p>
            <p class="intro">
                JavaFX is the next step in the evolution of Java as a rich client platform. 
                It is designed to provide a lightweight, hardware-accelerated Java UI platform
                for enterprise business applications. With JavaFX, developers can create
                JavaFX applications completely in the Java programming language using 
                standard Java development tools. You can access native system capabilities,
                or seamlessly connect to server-based middleware applications. 
            </p>
            <div class="line">&nbsp;</div>

            <!-- left text section start -->
            <a name="o1"></a>
            <span id="im1" class="overview-right"><a href="../../images_www/v7/3/features/client-javafx-scene-full.png" class="cbox" title="Create JavaFX"><img src="../../images_www/v7/3/features/client-javafx-scene-cut.png" alt=""  /></a></span>
            <h2>Templates and GUI Editing</h2>
            <p> NetBeans IDE gives you skeleton JavaFX applications in the form of project templates.
                In addition, the IDE provides a set of sample applications, some of which
                can be recreated step by step by following a related tutorial 
                available on NetBeans.org.</p>
            <p>Via the NetBeans Options window, you can register the Scene Builder
                so that FXML files will automatically be opened into it.</p>
            <a href="http://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm" class="arr-link" target="_blank">
                Getting Started With JavaFX</a>
            <br/><a href="http://www.youtube.com/watch?v=EGEONliKWDk" class="arr-link">
                Scene Builder with NetBeans IDE</a>
            <div class="line">&nbsp;</div>
            <!-- left text section end -->

            <!-- right text section start -->
            <a name="o2"></a>
            <span class="overview-left" id="im2"><a href="../../images_www/v7/3/features/client-javafx-fxml-full.png" class="cbox" title="FXML Editor"><img src="../../images_www/v7/3/features/client-javafx-fxml-cut.png" alt="" /></a></span>
            <h2>FXML Editor</h2>
            <p>The IDE provides an XML editor with support for FXML,
                the XML-based declarative markup language for defining
                user interfaces in JavaFX applications.
            </p>
            <div class="line">&nbsp;</div>
            <!-- right text section end -->

            <!-- left text section start -->
            <a name="o3"></a>
            <span class="overview-right" id="im2"><a href="../../images_www/v7/3/features/client-javafx-deploy-full.png" class="cbox" title="Deploy JavaFX"><img src="../../images_www/v7/3/features/client-javafx-deploy-cut.png" alt="" /></a></span>
            <h2>Deployment Tools</h2>
            <p>Build and run a JavaFX application as you build and run a
                standard Java SE application.</p>
            <p>In the IDE,
                you can configure a JavaFX project to run
                as a standalone application, via Java Web Start,
                or in a browser.
            </p>
            <div class="line">&nbsp;</div>
            <!-- right text section end -->

            <!-- left text section start -->
            <a name="o4"></a>
            <span id="im4" class="overview-left"><a href="../../images_www/v7/3/features/client-swing-visual-full.png" class="cbox" title="Visual Debugger"><img src="../../images_www/v7/3/features/client-swing-visual-cut.png" alt=""  /></a></span>
            <h2>Visual Debugger</h2>
            <p>Debug a JavaFX GUI application without looking into
                the source code and control the execution flow in terms of
                high-level structures.</p>
            <p>Choose "Take GUI Snapshot" to make a screenshot of the application 
                GUI that serves as a basis of the Visual Debugger functionality.</p>
            <p><a href="../../kb/docs/java/debug-visual.html" class="arr-link">
                    Using the Visual Debugger in NetBeans IDE</a>
            </p>
            <div class="line">&nbsp;</div>
            <!-- left text section end -->

            <h2>See Also</h2>
            <ul class="bigger">
                <li><a href="../../community/releases/81/index.html">NetBeans IDE 8.1 Release Page</a> for a list of highlighted features in the latest stable release.</li>                
                <li><a href="../../kb/trails/java-se.html">General Java Development Learning Trail</a> for tutorials that will help you get started.</li> 
            </ul>

        </div>
    </body>
</html>
