title: How do I convert NetBeans form and its class to something usable in IntelliJ IDEA form editor?
body: <p>I apologize for perhaps naive question but I couldn't find an answer online.</p>
  
  <p>I've got some UI code that was created in NetBeans. Unfortunately I don't know what version was used. My understanding is that IntelliJ IDEA (v11 in my case) doesn't support NetBeans forms.</p>
  
  <p>Can I convert the form to something usable in IDEA's form editor ? Content of form's XML file looks lie this:</p>
  
  <pre><code>&lt;?xml version="1.1" encoding="UTF-8" ?&gt;
  
  &lt;Form version="1.3" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"&gt;
    &lt;NonVisualComponents&gt;
      &lt;Component class="javax.swing.JLabel" name="jLabel3"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="jLabel3"/&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
      &lt;Menu class="javax.swing.JMenuBar" name="menuBar"&gt;
        &lt;SubComponents&gt;
          &lt;Menu class="javax.swing.JMenu" name="fileMenu"&gt;
            &lt;Properties&gt;
              &lt;Property name="mnemonic" type="int" value="102"/&gt;
              &lt;Property name="text" type="java.lang.String" value="File"/&gt;
            &lt;/Properties&gt;
            &lt;SubComponents&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="openMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="111"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Open"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="saveMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="115"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Save"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="saveAsMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="97"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Save As ..."/&gt;
                  &lt;Property name="displayedMnemonicIndex" type="int" value="5"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="exitMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="120"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Exit"/&gt;
                &lt;/Properties&gt;
                &lt;Events&gt;
                  &lt;EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exitMenuItemActionPerformed"/&gt;
                &lt;/Events&gt;
              &lt;/MenuItem&gt;
            &lt;/SubComponents&gt;
          &lt;/Menu&gt;
          &lt;Menu class="javax.swing.JMenu" name="editMenu"&gt;
            &lt;Properties&gt;
              &lt;Property name="mnemonic" type="int" value="101"/&gt;
              &lt;Property name="text" type="java.lang.String" value="Edit"/&gt;
            &lt;/Properties&gt;
            &lt;SubComponents&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="cutMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="116"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Cut"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="copyMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="121"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Copy"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="pasteMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="112"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Paste"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="deleteMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="100"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Delete"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
            &lt;/SubComponents&gt;
          &lt;/Menu&gt;
          &lt;Menu class="javax.swing.JMenu" name="helpMenu"&gt;
            &lt;Properties&gt;
              &lt;Property name="mnemonic" type="int" value="104"/&gt;
              &lt;Property name="text" type="java.lang.String" value="Help"/&gt;
            &lt;/Properties&gt;
            &lt;SubComponents&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="contentsMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="99"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="Contents"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
              &lt;MenuItem class="javax.swing.JMenuItem" name="aboutMenuItem"&gt;
                &lt;Properties&gt;
                  &lt;Property name="mnemonic" type="int" value="97"/&gt;
                  &lt;Property name="text" type="java.lang.String" value="About"/&gt;
                &lt;/Properties&gt;
              &lt;/MenuItem&gt;
            &lt;/SubComponents&gt;
          &lt;/Menu&gt;
        &lt;/SubComponents&gt;
      &lt;/Menu&gt;
    &lt;/NonVisualComponents&gt;
    &lt;Properties&gt;
      &lt;Property name="defaultCloseOperation" type="int" value="3"/&gt;
      &lt;Property name="title" type="java.lang.String" value="My Reporting"/&gt;
    &lt;/Properties&gt;
    &lt;SyntheticProperties&gt;
      &lt;SyntheticProperty name="menuBar" type="java.lang.String" value="menuBar"/&gt;
      &lt;SyntheticProperty name="formSizePolicy" type="int" value="1"/&gt;
    &lt;/SyntheticProperties&gt;
    &lt;AuxValues&gt;
      &lt;AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/&gt;
      &lt;AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/&gt;
      &lt;AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/&gt;
      &lt;AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/&gt;
      &lt;AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/&gt;
      &lt;AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/&gt;
      &lt;AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/&gt;
      &lt;AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/&gt;
      &lt;AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/&gt;
    &lt;/AuxValues&gt;
  
    &lt;Layout&gt;
      &lt;DimensionLayout dim="0"&gt;
        &lt;Group type="103" groupAlignment="0" attributes="0"&gt;
            &lt;Group type="102" attributes="0"&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
                &lt;Group type="103" groupAlignment="0" attributes="0"&gt;
                    &lt;Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/&gt;
                    &lt;Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/&gt;
                    &lt;Group type="102" alignment="1" attributes="0"&gt;
                        &lt;Component id="dataRequestButton" min="-2" max="-2" attributes="0"/&gt;
                        &lt;EmptySpace min="99" pref="99" max="99" attributes="0"/&gt;
                    &lt;/Group&gt;
                &lt;/Group&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
                &lt;Group type="103" groupAlignment="0" attributes="0"&gt;
                    &lt;Component id="downloadButton" min="-2" max="-2" attributes="0"/&gt;
                    &lt;Component id="answersLoaded" alignment="0" min="-2" max="-2" attributes="0"/&gt;
                    &lt;Component id="answersToLoad" alignment="0" min="-2" max="-2" attributes="0"/&gt;
                &lt;/Group&gt;
                &lt;EmptySpace min="-2" pref="28" max="-2" attributes="0"/&gt;
            &lt;/Group&gt;
            &lt;Component id="statusLabel" alignment="0" pref="574" max="32767" attributes="0"/&gt;
            &lt;Group type="102" alignment="0" attributes="0"&gt;
                &lt;EmptySpace min="-2" pref="32" max="-2" attributes="0"/&gt;
                &lt;Component id="jLabel4" min="-2" max="-2" attributes="0"/&gt;
                &lt;EmptySpace pref="493" max="32767" attributes="0"/&gt;
            &lt;/Group&gt;
            &lt;Group type="102" alignment="0" attributes="0"&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
                &lt;Component id="jScrollPane1" pref="534" max="32767" attributes="0"/&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
            &lt;/Group&gt;
        &lt;/Group&gt;
      &lt;/DimensionLayout&gt;
      &lt;DimensionLayout dim="1"&gt;
        &lt;Group type="103" groupAlignment="0" attributes="0"&gt;
            &lt;Group type="102" alignment="0" attributes="0"&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
                &lt;Group type="103" groupAlignment="0" attributes="0"&gt;
                    &lt;Group type="102" alignment="1" attributes="0"&gt;
                        &lt;Component id="answersLoaded" min="-2" max="-2" attributes="0"/&gt;
                        &lt;EmptySpace max="-2" attributes="0"/&gt;
                        &lt;Component id="answersToLoad" min="-2" max="-2" attributes="0"/&gt;
                    &lt;/Group&gt;
                    &lt;Group type="102" alignment="1" attributes="0"&gt;
                        &lt;Component id="jLabel1" min="-2" max="-2" attributes="0"/&gt;
                        &lt;EmptySpace max="-2" attributes="0"/&gt;
                        &lt;Component id="jLabel2" min="-2" max="-2" attributes="0"/&gt;
                    &lt;/Group&gt;
                &lt;/Group&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
                &lt;Group type="103" groupAlignment="0" attributes="0"&gt;
                    &lt;Component id="dataRequestButton" alignment="0" min="-2" max="-2" attributes="0"/&gt;
                    &lt;Component id="downloadButton" alignment="0" min="-2" max="-2" attributes="0"/&gt;
                &lt;/Group&gt;
                &lt;EmptySpace type="separate" max="-2" attributes="0"/&gt;
                &lt;Component id="jLabel4" min="-2" max="-2" attributes="0"/&gt;
                &lt;EmptySpace max="-2" attributes="0"/&gt;
                &lt;Component id="jScrollPane1" pref="316" max="32767" attributes="0"/&gt;
                &lt;EmptySpace type="unrelated" max="-2" attributes="0"/&gt;
                &lt;Component id="statusLabel" min="-2" max="-2" attributes="0"/&gt;
            &lt;/Group&gt;
        &lt;/Group&gt;
      &lt;/DimensionLayout&gt;
    &lt;/Layout&gt;
    &lt;SubComponents&gt;
      &lt;Component class="javax.swing.JLabel" name="jLabel1"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="Answer data loaded until"/&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
      &lt;Component class="javax.swing.JLabel" name="answersLoaded"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="&amp;lt;nothing loaded&amp;gt;"/&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
      &lt;Component class="javax.swing.JLabel" name="jLabel2"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="Unloaded answers at the server"/&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
      &lt;Component class="javax.swing.JLabel" name="answersToLoad"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="&amp;lt;nothing available&amp;gt;"/&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
      &lt;Component class="javax.swing.JButton" name="downloadButton"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="Download ready data"/&gt;
        &lt;/Properties&gt;
        &lt;Events&gt;
          &lt;EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="downloadButtonActionPerformed"/&gt;
        &lt;/Events&gt;
      &lt;/Component&gt;
      &lt;Component class="javax.swing.JLabel" name="statusLabel"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="Ready"/&gt;
          &lt;Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"&gt;
            &lt;Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo"&gt;
              &lt;EtchetBorder/&gt;
            &lt;/Border&gt;
          &lt;/Property&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
      &lt;Component class="javax.swing.JButton" name="dataRequestButton"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="Request data"/&gt;
        &lt;/Properties&gt;
        &lt;Events&gt;
          &lt;EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dataRequestButtonActionPerformed"/&gt;
        &lt;/Events&gt;
      &lt;/Component&gt;
      &lt;Container class="javax.swing.JScrollPane" name="jScrollPane1"&gt;
  
        &lt;Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/&gt;
        &lt;SubComponents&gt;
          &lt;Component class="javax.swing.JTable" name="engineTable"&gt;
            &lt;Properties&gt;
              &lt;Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor"&gt;
                &lt;Table columnCount="4" rowCount="4"&gt;
                  &lt;Column editable="true" title="Title 1" type="java.lang.Object"/&gt;
                  &lt;Column editable="true" title="Title 2" type="java.lang.Object"/&gt;
                  &lt;Column editable="true" title="Title 3" type="java.lang.Object"/&gt;
                  &lt;Column editable="true" title="Title 4" type="java.lang.Object"/&gt;
                &lt;/Table&gt;
              &lt;/Property&gt;
              &lt;Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor"&gt;
                &lt;TableColumnModel selectionModel="0"&gt;
                  &lt;Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"&gt;
                    &lt;Title/&gt;
                    &lt;Editor/&gt;
                    &lt;Renderer/&gt;
                  &lt;/Column&gt;
                  &lt;Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"&gt;
                    &lt;Title/&gt;
                    &lt;Editor/&gt;
                    &lt;Renderer/&gt;
                  &lt;/Column&gt;
                  &lt;Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"&gt;
                    &lt;Title/&gt;
                    &lt;Editor/&gt;
                    &lt;Renderer/&gt;
                  &lt;/Column&gt;
                  &lt;Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true"&gt;
                    &lt;Title/&gt;
                    &lt;Editor/&gt;
                    &lt;Renderer/&gt;
                  &lt;/Column&gt;
                &lt;/TableColumnModel&gt;
              &lt;/Property&gt;
              &lt;Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor"&gt;
                &lt;TableHeader reorderingAllowed="true" resizingAllowed="true"/&gt;
              &lt;/Property&gt;
            &lt;/Properties&gt;
          &lt;/Component&gt;
        &lt;/SubComponents&gt;
      &lt;/Container&gt;
      &lt;Component class="javax.swing.JLabel" name="jLabel4"&gt;
        &lt;Properties&gt;
          &lt;Property name="text" type="java.lang.String" value="Engines"/&gt;
        &lt;/Properties&gt;
      &lt;/Component&gt;
    &lt;/SubComponents&gt;
  &lt;/Form&gt;
  </code></pre>
  
  <p>Thanks a lot.</p>