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.
- 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 - Index html
- 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;
}
}