Как мне решить эту ошибку - PullRequest
1 голос
/ 25 ноября 2010

// Customer.java

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);

    }

}

// когда я выполняю эту программу, я получаю сообщение об ошибке

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

Ответы [ 2 ]

3 голосов
/ 25 ноября 2010

Проблема в этой строке:

frameObj.getContentPane().add(panelObj);

Посмотрите, как определен frameObj:

static JFrame frameObj;

На самом деле он никогда не инициализируется.Это все еще ноль, когда вы пытаетесь получить его панель содержимого.Вот что означает NullPointerException - вы пытаетесь запустить метод для объекта с нулевым значением.

Попробуйте изменить вызов frameObj следующим образом:

static JFrame frameObj = new JFrame();

Это должно решить проблему.

2 голосов
/ 25 ноября 2010

frameObj не был инициализирован / назначен, поэтому NULL.Вызов getContentPane() даст вам NullPointerException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...