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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

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,119 views