Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Adding a UserDefined Object in ComboBox

Zulfi KhanSep 25 2016 — edited Sep 27 2016

Hi,

I have created a user defined class car and i am trying to add its objects in a combo box on a button click but i a m getting "Null Pointer Exception" when i am running this program. Following is my code:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

class Car{

String carModel;

double price;

Car(String carModel1, double p){

carModel=carModel1;

price = p;

}

}

public class UseCar extends JFrame{

   JComboBox<Car> cbox;

   DefaultComboBoxModel<Car> model;

   JFrame frame = new JFrame("Test");

   private JButton button;

   UseCar() {

  

      frame.setSize(500,200);

      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      JPanel panel = new JPanel();

      frame.add(panel);

      button=new JButton("Hello");

      panel.add(button);

      cbox= new JComboBox<>();

      panel.add( cbox);

      pack();

      MyActionListener listener=new MyActionListener(cbox, model);   //added

      button.addActionListener(listener);

      frame.setVisible(true);

   }

   public static void main(String args[ ]) {

       // Run the GUI construction in the Event-Dispatching thread for thread-safety

      SwingUtilities.invokeLater(new Runnable() {

         @Override

         public void run() {

            new UseCar(); // Let the constructor do the job

         }

      });

}

}

class MyActionListener implements ActionListener{

MyActionListener(JComboBox<Car> cbox, DefaultComboBoxModel<Car> model){

   Car car1 = new Car("2010", 300.0);

   Car car2 = new Car("2011", 400.0);

   Car car3 = new Car("2012", 500.0);

   Car car4 = new Car("2013", 600.0);

   Car car5 = new Car("2014", 700.0);

  

   model.addElement(car1);

   /*model.addElement(car2);

   model.addElement(car3);

   model.addElement(car4);

   model.addElement(car5);

   cbox.setModel(model);*/

}

        public void actionPerformed (ActionEvent e) {

        System.out.println("pressed button");

        }

}

Following is my error message:

java UseCar

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

        at MyActionListener.<init>(UseCar.java:54)

        at UseCar.<init>(UseCar.java:31)

        at UseCar$1.run(UseCar.java:40)

        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)

        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)

        at java.awt.EventQueue.access$500(EventQueue.java:97)

        at java.awt.EventQueue$3.run(EventQueue.java:709)

        at java.awt.EventQueue$3.run(EventQueue.java:703)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)

        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Somebody please guide me.

Zulfi.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 25 2016
Added on Sep 25 2016
6 comments
1,120 views