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

Reply

Join Date: Sep 2009
Posts: 4
Reputation: karen.tao is an unknown quantity at this point 
Solved Threads: 0
karen.tao karen.tao is offline Offline
Newbie Poster

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

 
0
  #1
27 Days Ago
I am creating a GUI program with java and when I run it, I get this stack of errors.

  1. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  2. at ButtonPanel$AllocateListener.actionPerformed(ButtonPanel.java:52)
  3. at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
  4. at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
  5. at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
  6. at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
  7. at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
  8. at java.awt.Component.processMouseEvent(Component.java:6263)
  9. at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
  10. at java.awt.Component.processEvent(Component.java:6028)
  11. at java.awt.Container.processEvent(Container.java:2041)
  12. at java.awt.Component.dispatchEventImpl(Component.java:4630)
  13. at java.awt.Container.dispatchEventImpl(Container.java:2099)
  14. at java.awt.Component.dispatchEvent(Component.java:4460)
  15. at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
  16. at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
  17. at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
  18. at java.awt.Container.dispatchEventImpl(Container.java:2085)
  19. at java.awt.Window.dispatchEventImpl(Window.java:2475)
  20. at java.awt.Component.dispatchEvent(Component.java:4460)
  21. at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
  22. at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
  23. at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
  24. at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
  25. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
  26. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
  27. at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

This is the code in my ButtonPanel
  1. import model.*;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import java.text.*;
  6. import javax.swing.*;
  7.  
  8. public class ButtonPanel extends JPanel implements View
  9. {
  10. private Prison prison;
  11. private JButton button = new JButton("Allocate Cell");
  12. private LeftInputPanel leftInput = new LeftInputPanel(prison);
  13. private DaysPanel daysPanel;
  14. private MonthsPanel monthsPanel;
  15. private YearsPanel yearsPanel;
  16. private CrimePanel crimePanel;
  17. private CountPanel countPanel;
  18. //private AllocateListener listener = new AllocateListener();
  19.  
  20. public ButtonPanel(Prison prison)
  21. {
  22. this.prison = prison;
  23. setup();
  24. build();
  25. }
  26.  
  27. public void setup()
  28. {
  29. }
  30.  
  31. public void build()
  32. {
  33. Dimension size = new Dimension(240, 70);
  34.  
  35. button.setPreferredSize(size);
  36. button.setMinimumSize(size);
  37. button.setMaximumSize(size);
  38. button.addActionListener(new AllocateListener());
  39. add(button);
  40. update();
  41. }
  42.  
  43. public void update()
  44. {
  45. leftInput.update();
  46. }
  47.  
  48. private class AllocateListener implements ActionListener
  49. {
  50. public void actionPerformed(ActionEvent e)
  51. {
  52. Criminal criminal = new Criminal(leftInput.name());
  53. Period period = new Period(daysPanel.days(), monthsPanel.months(), yearsPanel.years()); //ERROR IN THIS LINE
  54. criminal.set(new Crime(crimePanel.getCrime()));
  55. prison.add(criminal);
  56. }
  57. }
  58. }

DaysPanel
  1. import model.*;
  2. import java.awt.*;
  3. import java.text.*;
  4. import javax.swing.*;
  5.  
  6. public class DaysPanel extends JPanel
  7. {
  8. JTextField field = new JTextField();
  9.  
  10. public DaysPanel()
  11. {
  12. setup();
  13. build();
  14.  
  15. }
  16.  
  17. public void setup()
  18. {
  19. setLayout(new FlowLayout(FlowLayout.LEFT));
  20. /*Dimension size = new Dimension(75, 20);
  21.  
  22.   setPreferredSize(size);
  23.   setMinimumSize(size);
  24.   setMaximumSize(size);*/
  25. }
  26.  
  27. public void build()
  28. {
  29. Dimension size = new Dimension(30, 20);
  30. field.setPreferredSize(size);
  31. field.setMinimumSize(size);
  32. field.setMaximumSize(size);
  33.  
  34. add(field);
  35. add(new JLabel(" days"));
  36. }
  37.  
  38. public int days()
  39. {
  40. return Integer.parseInt(field.getText());
  41. }
  42.  
  43. public void update()
  44. {
  45. field.setText("");
  46. }
  47. }

What's wrong with my code?
Reply With Quote Quick reply to this message  
Join Date: Aug 2007
Posts: 787
Reputation: darkagn has a spectacular aura about darkagn has a spectacular aura about darkagn has a spectacular aura about 
Solved Threads: 109
darkagn's Avatar
darkagn darkagn is offline Offline
Master Poster
 
0
  #2
27 Days Ago
The line:
  1. Criminal criminal = new Criminal(leftInput.name());
is trying to access the private variable leftInput which doesn't belong to your class. You only have access to the parameter e in this method.
There are no stupid questions, only those too stupid to ask for help.
echo is a web developer's best friend.
Reply With Quote Quick reply to this message  
Reply

Tags
error, gui, java

Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC