title: Embedding a JApplet into a JFrame
body: <p>Ok so i was wondering if anyone could tell me where i am going wrong.</p>
  
  <p>I have a JApplet called Game which runs fine if i run it from within eclipse using the AppletViewer and a JFrame called GUI that holds the JApplet. Here is the Code for both:</p>
  
  <p>PS. i got rid of most of the code from Game to make it smaller it is now just basic.</p>
  
  <p>Game.java:</p>
  
  <pre><code>package com.ion.brickdodge;
  
  import java.awt.Color;
  import java.awt.Graphics;
  import java.awt.Image;
  
  import javax.swing.JApplet;
  
  
  public class Game extends JApplet implements Runnable{
  
  private static final long serialVersionUID = 1L;
  Image man1;
  Image man2;
  Image cman; 
  int WIDTH = 250;
  int HEIGHT = 350;
  int lives = 3;
  int spx = WIDTH / 2;
  int score = 0;
  
  Image dbImage;
  Graphics dbg;
  
  public void init () {
      setSize  (WIDTH, HEIGHT);
      setFocusable(true);
      setBackground(Color.LIGHT_GRAY);
  
      man1 = getImage(getCodeBase(), "res/man1.png");
      man2 = getImage(getCodeBase(), "res/man2.png");
  
      cman = man1;
  
  }
  
  public void start() {
      Thread th = new Thread(this);
      th.start();
  }
  
  public void run() {
      Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
      while(true){
          repaint();
  
          try {
              Thread.sleep(10);
          } catch (InterruptedException e) {
              e.printStackTrace();
          }
  
          Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
      }   
  }
  
  public void paint(Graphics g) {
  
      g.drawImage(cman, spx, 320, this);
      g.setColor(Color.BLACK);
      g.drawString("Score: " + score, 5, 10);
      g.drawString("Lives: " + lives, 5, 25);
  
  }
  
  public void update(Graphics g){
      if (dbImage == null)
      {
          dbImage = createImage (this.getSize().width, this.getSize().height);
          dbg = dbImage.getGraphics ();
      }
  
      dbg.setColor (getBackground ());
      dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);
  
      dbg.setColor (getForeground());
      paint (dbg);
  
      g.drawImage (dbImage, 0, 0, this);
  }
      }
  </code></pre>
  
  <p>And here is GUI.java:</p>
  
  <pre><code>package com.ion.brickdodge;
  
  import java.awt.BorderLayout;
  
  import javax.swing.JApplet;
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  
  
  public class GUI {
  
  public static void main(String args[]) {
        JFrame frame = new JFrame("test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(1000, 1000);
  
        JPanel panel = new JPanel(new BorderLayout());
        frame.add(panel);
  
        JApplet applet = new Game();
        panel.add(applet, BorderLayout.CENTER);
        applet.init();
        frame.pack();
  
        frame.setVisible(true);
      }
  }
  </code></pre>
  
  <p>The Error GUI.java throws when i run it is...</p>
  
  <pre><code>Exception in thread "main" java.lang.NullPointerException
  at java.applet.Applet.getCodeBase(Unknown Source)
  at com.ion.brickdodge.Game.init(Game.java:30)
  at com.ion.brickdodge.GUI.main(GUI.java:22)
  </code></pre>
  
  <p>Any help would be much appreciated</p>