title: Java Applet Error, NullPointerException
body: <p>I just started learning about java applets and came upon this error. Can someone help me?</p>
  
  <pre><code>import java.awt.event.MouseEvent;
  import java.awt.event.MouseListener;
  import java.applet.Applet;
  import java.awt.Color;
  import java.awt.Graphics;
  
  
  public class MakeDots extends Applet implements MouseListener{
  
      private Graphics graphics = null;
  
      public void init() {
          this.addMouseListener(this);
      }
  
      public void paint(Graphics g) {
          this.setSize(800, 600);
          g.create();
      }
      public void drawDot(int x, int y) {
          int r = (int)(Math.random()*256);
          int b = (int)(Math.random()*256);
          int g = (int)(Math.random()*256);
          Color color = new Color(r, g, b);
          graphics.setColor(color);
          graphics.fillOval(x, y, 3, 3);
      }
  
      @Override
      public void mouseClicked(MouseEvent e) {
          int mouseX = e.getX();
          int mouseY = e.getY();
          drawDot(mouseX, mouseY);
      }
  
      @Override
      public void mouseEntered(MouseEvent arg0) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void mouseExited(MouseEvent arg0) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void mousePressed(MouseEvent arg0) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void mouseReleased(MouseEvent arg0) {
          // TODO Auto-generated method stub
  
      }
  
  }
  </code></pre>
  
  <p>This error comes up:</p>
  
  <pre><code>Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at MakeDots.drawDot(MakeDots.java:26)
      at MakeDots.mouseClicked(MakeDots.java:34)
      at java.awt.Component.processMouseEvent(Component.java:6417)
      at java.awt.Component.processEvent(Component.java:6179)
  at java.awt.Component.dispatchEventImpl(Component.java:4776)
      at java.awt.Container.dispatchEventImpl(Container.java:2142)
      at java.awt.Component.dispatchEvent(Component.java:4604)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
      at java.awt.EventQueue.access$400(EventQueue.java:82)
      at java.awt.EventQueue$2.run(EventQueue.java:676)
      at java.awt.EventQueue$2.run(EventQueue.java:674)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
      at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:690)
      at java.awt.EventQueue$3.run(EventQueue.java:688)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
  </code></pre>
  
  <p>I don’t know why!</p>