Applet nao roda

Sou iniciante em Java, principalmente em Applets e não consigo ver onde está o erro no código abaixo, que roda no applet view do Eclipse e dá erro no navegador. Agradeço a que puder dar uma ajuda.

  1. Erro do navegador:
    java.lang.NullPointerException
    at sun.plugin2.applet.Plugin2Manager.findAppletJDKLevel(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Exception: java.lang.NullPointerException
  2. Index html
<applet code = "SgiMenu.class" width = "1024" height = "768"
  1. Applet Java

import java.awt.;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.
;
import java.io.FilePermission;
import java.security.AccessController;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

import javax.swing.JApplet;
import javax.swing.JFrame;

public class SgiMenu extends JApplet {

Frame janela;
MenuBar BarraMenu;
Menu Cadastros,Movimentos,Relatorios,Informacoes;
MenuItem CadOpcao1,CadOpcao2,CadOpcao3,CadSair;
MenuItem MovOpcao1,MovOpcao2,MovOpcao3;
MenuItem RelOpcao1,RelOpcao2,RelOpcao3;
MenuItem InfSobre;
JLabel imagem;
JButton bcompras,bproducao,bvendas,brecdes,bsair;
ImageIcon icone;
@SuppressWarnings(“deprecation”)
public void init(){
System.setSecurityManager(new SecurityManager());
FilePermission perm = new FilePermission("…/icones/", “read”);
FilePermission principal = new FilePermission(“principal.jpg”,“read”);
AccessController.checkPermission(perm);

   setPolicy Policy = new 
   Policy.setPolicy( new Policy() {
	   public PermissionCollection
	   getPermissions(CodeSource codesource) {
	   Permissions perms = new Permissions();
	   perms.add(new AllPermission());
	   return(perms);
	   
  BarraMenu = new MenuBar();   
  Cadastros = new Menu("Cadastros");
  CadOpcao1 = new MenuItem("1ª Opção");
  CadOpcao2 = new MenuItem("2ª Opção");
  CadOpcao3 = new MenuItem("3ª Opção");
  CadSair   = new MenuItem("Sair");
  Cadastros.add(CadOpcao1);
  Cadastros.add(CadOpcao2);
  Cadastros.add(CadOpcao3);
  Cadastros.add(CadSair);

  Movimentos =new Menu("Movimentos");
  MovOpcao1 = new MenuItem("1ª Opção");
  MovOpcao2 = new MenuItem("2ª Opção");
  MovOpcao3 = new MenuItem("3ª Opção");
  Movimentos.add(MovOpcao1);
  Movimentos.add(MovOpcao2);
  Movimentos.add(MovOpcao3);
  
  Relatorios = new Menu("Relatórios");
  RelOpcao1 = new MenuItem("1ª Opção");
  RelOpcao2 = new MenuItem("2ª Opção");
  RelOpcao3 = new MenuItem("3ª Opção");
  Relatorios.add(RelOpcao1);
  Relatorios.add(RelOpcao2);
  Relatorios.add(RelOpcao3);

  Informacoes = new Menu("Informacoes");
  InfSobre = new MenuItem("Sobre");
  Informacoes.add(InfSobre);
  
  BarraMenu.add(Cadastros);
  BarraMenu.add(Movimentos);
  BarraMenu.add(Relatorios);
  BarraMenu.add(Informacoes);
  
  icone  = new ImageIcon("principal.jpg");
  imagem = new JLabel(icone);
  imagem.setBounds(110,70,800,592);
  
   // botões  

  icone     = new ImageIcon("../icones/compras32.png");
  bcompras  = new JButton(icone);
  bcompras.setBounds(8,8,40,40);
  icone     = new ImageIcon("../icones/coffee_machine32.png");
  bproducao = new JButton(icone);
  bproducao.setBounds(50,8,40,40);
  icone     = new ImageIcon("../icones/vendas232.png");
  bvendas   = new JButton(icone);
  bvendas.setBounds(92,8,40,40);
  icone     = new ImageIcon("../icones/money32.png");
  brecdes   = new JButton(icone);
  brecdes.setBounds(134,8,40,40);
  icone     = new ImageIcon("../icones/close32.png");
  bsair     = new JButton(icone);
  bsair.setBounds(176,8,40,40);

  // Hints dos botões /
  bcompras.setToolTipText("Movimento de Compras");  
  bproducao.setToolTipText("Movimento de Produção");  
  bvendas.setToolTipText("Movimento de Vendas");  
  brecdes.setToolTipText("Movimento de Receitas e Despesas");  
  bsair.setToolTipText("Sair do Sistema"); 


  add(new Button("Abrir Applet"));   
  add(new Button("Fechar Applet")); 

  janela = new JFrame("SGI - Sistema Gerencial Integrado - Versão Applet");  
  //janela.add(new Label("Isto é um Label numa  Janela"));   
  janela.setLayout( null );  
  janela.setMenuBar(BarraMenu);
  janela.add(imagem);
  janela.add(bcompras);
  janela.add(bproducao);
  janela.add(bvendas);
  janela.add(brecdes);
  janela.add(bsair);
  bsair.setVisible(true);
  janela.setSize(1280,800);
  janela.show();   
  
	// Ações dos links do menu //
  CadSair.addActionListener(new ActionListener(){
	 public void actionPerformed(ActionEvent e){
		int resposta;
		Object[]botoes = {"Sim","Não"};
		resposta = JOptionPane.showOptionDialog(null,"Confirma Encerramento do Sistama?","Mensagem",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,botoes,botoes[0]);
		if (resposta == JOptionPane.YES_OPTION)
			System.exit(0);}});
	// Ações dos links do menu //
  bsair.addActionListener(new ActionListener(){
	 public void actionPerformed(ActionEvent e){
		int resposta;
		Object[]botoes = {"Sim","Não"};
		resposta = JOptionPane.showOptionDialog(null,"Confirma Encerramento do Sistama?","Mensagem",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,botoes,botoes[0]);
		if (resposta == JOptionPane.YES_OPTION)
			System.exit(0);}});

}

public boolean action (Event e,Object o){
String nomebotao=(String)o;
if (e.target instanceof Button){
if (nomebotao.equals(“Abrir Applet”)){
if (!janela.isShowing())
janela.show();
}
else if(nomebotao.equals(“Fechar Applet”)){

           if (janela.isShowing())   
              //janela.hide(); 
              janela.dispose();
           }
        return true;   
     }   
     else return false;   
  }  

}