<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
  <head>
    <title>NetBeans IDE - Swing GUI Builder (Matisse) Features</title>
    <link rel="stylesheet" href="../../netbeans.css" TYPE="text/css">
    <link rel="stylesheet" href="../../features.css" type="text/css" >
    <meta name="description" content="NetBeans IDE - Java Swing features">
    <meta http-equiv="content-language" CONTENT="en">
  </head>

  <body>
    <h1><a name="swing"></a>Swing GUI Builder (formerly Project Matisse)</h1>

    <p><a href="../../images_www/v7/1/screenshots/gui-builder.png"><img
          alt="The Swing GUI Builder in the NetBeans IDE"
          src="../../images_www/v7/1/screenshots/gui-builder-cut.png"
          style="border: 0px solid"><span 
          class="font-11"><br>Click image for fullscreen preview</span></a></p>

    <p><strong>Create professional-looking GUIs with automatic spacing and alignment.</strong></p>
    <table class='features-table'>
      <tr>
        <td>
          <h2>Professional Swing GUI Building<img
 alt="improved!" src="../../images_www/v6/features/improved_small.gif"></h2>
          <p>
            Design Swing GUIs by dragging and positioning GUI components from a palette onto a canvas.
            The GUI builder automatically takes care of the correct spacing and alignment.
            Click into JLabels, JButtons, ButtonGroups, JTrees, JTextFields, ComboBoxes
            and edit their properties directly in place.
            You can use the GUI builder to prototype GUIs right in front of customers.<br>
            <a class="notes" href="../../kb/docs/java/gui-functionality.html">Introduction to GUI Building</a>
          </p>
          
          <h2>Intuitive and Customizable</h2>
          <p>
            You can choose whether the GUI code should be generated
            with fully qualified or simple class names.
            The helpbar displays context-sensitive hints about what can be done
            with the selected component and
            suggests shortcuts that can speed up your work in the future.
            The NetBeans IDE also comes with built-in support for GUI localization and accessibility.
            
          </p>
          <p>&nbsp;</p>
          

        </td>
        <td class='screenshots-col'>
          <p><img alt="java swing gui form" src="../../images_www/v7/1/features/swing-gui-design.png"
                  class="box" ></p>
          <p><img alt="java swing gui options" src="../../images_www/v7/1/features/swing-gui-options.png"
                  class="box" ></p>
          
        </td>
      </tr>
      <tr>
        <td>
          <h2>Standard and Custom GUI Components</h2>
          <p>
            The extensible Component Palette comes with pre-installed Swing and AWT components
            and includes a visual menu designer.
            Use the Component Navigator to view a component's tree and properties.
          </p>
          <p>&nbsp;</p>
          </td>
        <td class='screenshots-col'>
          <p><img alt="java swing gui palette" src="../../images_www/v7/1/features/swing-gui-palette.png"
                  class="box"></p>
          </td>
      </tr>
	  <tr>
	  <td>
	  <h2>Visual Debugger<img
 alt="improved!" src="../../images_www/v6/features/improved_small.gif"></h2>
	  <p>Debug a Swing GUI application without looking into the source code and control the execution flow in terms of high-level structures. Choose  Take GUI Snapshot  to make a screenshot of the application GUI that serves as a basis of the Visual Debugger functionality.
	  <br><a class="notes" href="../../kb/docs/java/debug-visual.html">Using the Visual Debugger</a></p>
	  </td>
	  <td class='screenshots-col'>
          <p><img alt="java swing gui snapshot" src="../../images_www/v7/1/features/swing-gui-snapshot.png"
                  class="box"></p>
         
        </td></tr>
    </table>

    <p><img alt="-" src="../../images_www/v6/arrow-button.gif" width="15" height="12">&nbsp;<a href="../../kb/trails/matisse.html">GUI Builder Learning Trail</a></p>
    <p><img alt="-" src="../../images_www/v6/arrow-button.gif" width="15" height="12">&nbsp;<a href="../../kb/trails/platform.html">NetBeans Platform Learning Trail</a></p>


  </body>
</html>
