2013-02-25 64 views
0

只有一个选项可以将JFrame和JPanel添加到项目中。我尝试编辑JFrame类来扩展JWindow,但是它留下了NetBeans的自动生成的代码,并且出现错误,并且无法编辑此代码。如何将JWindow添加到NetBeans项目并使用GUI编辑器进行编辑?

+0

创建你自己了'JFrame'形式和改变'扩展JFrame'到'扩展JWindow',修复导入。在你做任何改变之前做这个。对我来说工作得很好。 – MadProgrammer 2013-02-25 02:06:51

+0

这会使此行(现在无效)行无法编辑:setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); – Ognjen 2013-02-25 02:09:12

+0

你使用的是什么版本的netbeans? – MadProgrammer 2013-02-25 03:58:59

回答

3

您可以创建自己的模板......

地将这两个文件夹...\NetBeans\7.2.1\config\Templates\GUIForms

在Windows 7这是C:\Users\{your user name}\AppData\Roaming\NetBeans\7.2.1\config\Templates\GUIForms

JWindow.java

<#assign licenseFirst = "/*"> 
<#assign licensePrefix = " * "> 
<#assign licenseLast = " */"> 
<#include "../Licenses/license-${project.license}.txt"> 

<#if package?? && package != ""> 
package ${package}; 

</#if> 
/** 
* 
* @author ${user} 
*/ 
public class ${name} extends javax.swing.JWindow { 

    /** Creates new form ${name} */ 
    public ${name}() { 
     initComponents(); 
    } 

    /** This method is called from within the constructor to 
    * initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is 
    * always regenerated by the Form Editor. 
    */ 
    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents 
    private void initComponents() { 
     pack(); 
    } 
    // </editor-fold>//GEN-END:initComponents 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
     /* Set the Nimbus look and feel */ 
     //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> 
     /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */ 
     try { 
      for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 
       if ("Nimbus".equals(info.getName())) { 
        javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
        break; 
       } 
      } 
     } catch (ClassNotFoundException ex) { 
      java.util.logging.Logger.getLogger(${name}.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (InstantiationException ex) { 
      java.util.logging.Logger.getLogger(${name}.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (IllegalAccessException ex) { 
      java.util.logging.Logger.getLogger(${name}.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
      java.util.logging.Logger.getLogger(${name}.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } 
     //</editor-fold> 

     /* Create and display the form */ 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new ${name}().setVisible(true); 
      } 
     }); 
    } 

    // Variables declaration - do not modify//GEN-BEGIN:variables 
    // End of variables declaration//GEN-END:variables 

} 

JWindow.form

<?xml version="1.0" encoding="UTF-8" ?> 

<Form version="1.3" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"> 
    <SyntheticProperties> 
    <SyntheticProperty name="formSizePolicy" type="int" value="1"/> 
    </SyntheticProperties> 

</Form> 
+0

........我的帽子向下 – mKorbel 2013-02-25 08:51:47