2011-07-02 95 views
1

有人可以帮助我,因为我必须在明天结束之前将此项目加入进来吗?NullPointerException设置文本字段的文本

每次我尝试设置文本字段的文本时,我的程序崩溃并给出空指针异常。我该如何克服这一点?

下面是示例代码中错误也发生:

/** Creates new form NewJFrame */ 
public NewJFrame() { 
    initComponents(); 
    jTextField1.setText("Yes"); 
} 

这是因为尚未创建文本字段变量:在initComponents();

筛选后

package disciplinesys; 

public class NewJFrame extends javax.swing.JFrame { 

    /** Creates new form NewJFrame */ 
    public NewJFrame() { 
     jTextField1.setText("Yes"); 
     initComponents(); 
    } 

    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code"> 
    private void initComponents() { 

     jTextField1 = new javax.swing.JTextField(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(120, 120, 120) 
       .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(141, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(116, 116, 116) 
       .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(164, Short.MAX_VALUE)) 
     ); 

     pack(); 
    }// </editor-fold> 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new NewJFrame().setVisible(true); 
      } 
     }); 
    } 

    // Variables declaration - do not modify 
    private javax.swing.JTextField jTextField1; 
    // End of variables declaration 

} 

回答

6

呼叫jTextField1.setText("Yes");直到initComponents();

+1

并且不要使用NetBe创建你的Swing代码,这样你就会知道你在做什么。 –

+0

非常感谢您的回答! – Kevin

+0

凯文,您应该点击旁边的复选标记将此答案标记为已接受。 –