2010-11-25 7 views
1

//Customer.javaComment dois-je aborder ce genre d'erreur

import javax.swing.*; 
public class Customer 
{ 
//variables for from window 

static JFrame frameObj; 
static JPanel panelObj; 

// variables for labels 

JLabel labelCustomerName; 
JLabel labelCustomerCellNo; 
JLabel labelCustomerPackage; 
JLabel labelCustomerAge; 

// Variables for data entry controls 

JTextField textCustomerName; 
JTextField textCustomerCellNo; 
JComboBox comboCustomerPackage; 
JTextField textCustomerAge; 

public static void main(String args[]) 
    { 
     Customer CustObj = new Customer(); 
    } 

public Customer() 
    { 

      ///Add the appropriate controls to the frame in the construcor 
      ///Create Panel 
      panelObj= new JPanel(); 
      frameObj.getContentPane().add(panelObj); 

      ///Setting close button 
      frameObj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      ///Create and add the appropriate controls 

      ///Initializing the labels 

      labelCustomerName = new JLabel("Customer Name: "); 
      labelCustomerCellNo = new JLabel("Cell Number: "); 
      labelCustomerPackage = new JLabel("Package: "); 
      labelCustomerAge = new JLabel("Age: "); 

      ///NIintialzing the data entry Controls 
      textCustomerName = new JTextField(30); 
      textCustomerCellNo = new JTextField(15); 
      textCustomerAge = new JTextField(2);  
      String packages[] = { "Executive" , "Standard"}; 
      comboCustomerPackage = new JComboBox(packages); 

      ///Adding Controls to the Customer Name 
      panelObj.add(labelCustomerName); 
      panelObj.add(textCustomerName); 

      ///Adding Controls to the Customer Cell Number 
      panelObj.add(labelCustomerCellNo); 
      panelObj.add(textCustomerCellNo); 

      ///Adding Controls to the Customer Age 
      panelObj.add(labelCustomerAge); 
      panelObj.add(textCustomerAge); 

      ///Adding Controls to the Customer Package 
      panelObj.add(labelCustomerPackage); 
      panelObj.add(comboCustomerPackage); 

    } 

} 

// quand je suis exécution de ce programme, je reçois une erreur qui dit

exception in thread "main" java.lang.NullPointerException 
at Customer.<init>(Customer.java:35) 
at Customer.<init>(Customer.java:26) 

Répondre

2

frameObj n'a pas été initialisé/assigné à, il est donc NULL. Appeler son getContentPane() va vous donner un NullPointerException.

3

Le problème est dans cette ligne:

frameObj.getContentPane().add(panelObj); 

Jetez un oeil à la façon dont frameObj est défini:

static JFrame frameObj; 

Il n'a jamais réellement s'initialisé. Il est toujours nul lorsque vous essayez d'obtenir son volet de contenu. C'est ce que veut dire une exception NullPointerException - vous essayez d'exécuter une méthode sur un objet null.

Essayez de changer l'appel frameObj à ceci:

static JFrame frameObj = new JFrame(); 

Cela devrait résoudre le problème.

Questions connexes