Olá Pessoal
Estou começando a estudar swing, e fiz a seguinte aplicação: criei uma classe chamada Painel, onde esta sendo criado uma janela com um menu. E estou tentando fazer o seguinte, que ao clicar na opção “insertLivro”, do menu epara ser adicionado campos a esta janela (painel), então criei a classe “cadastraLivro”, que é filha da classe “Painel”, e ela possui o método “addPainelIsercao()”, que adiciona um botão de teste no painel, ams cada vez que executo e clico para adicionar o botão ocorrem os erros listados abaixo, as classes tb estão sendo apresentadas. Será que alguém poderia dar um help, valeu!!!
public class Painel extends JFrame {
private JPanel painelImagem;
public Container containerPainel;
/** Creates a new instance of Painel */
public void MontaPainel(){
painelImagem=new JPanel();
containerPainel = getContentPane();
containerPainel.setLayout(null);
getContentPane().setBackground(Color.WHITE);
setLocation(200,100);
JMenuBar menuBar = new JMenuBar();
// Adiciona a barra de menu ao frame
setJMenuBar(menuBar);
// Define e adiciona 3 menus drop down na barra de menus
JMenu CadastroMenu = new JMenu("Opções");
JMenu ConsultaMenu = new JMenu("Consultas");
JMenu AjudaMenu = new JMenu("Ajuda");
menuBar.add(CadastroMenu);
menuBar.add(ConsultaMenu);
menuBar.add(AjudaMenu);
// Cria itens simples para o menu Cadastro
JMenuItem insertLivro = new JMenuItem("Inserir Livros");
JMenuItem excluirLivro = new JMenuItem("Excluir Livros");
JMenuItem editLivro = new JMenuItem("Editar Livros");
//Cria itens para o meunu Consulta
JMenuItem consultNome = new JMenuItem("Consulta por Nome do livro");
JMenuItem consultCod = new JMenuItem("Consulta por Código do livro");
JMenuItem consultAutor = new JMenuItem("Consulta por Autor do livro");
//Cria itens para o menu Ajuda
JMenuItem ajudaSobre = new JMenuItem("Sobre");
JMenuItem ajudaSair = new JMenuItem("Sair");
//adiciona os itens criados aos menus
CadastroMenu.add(insertLivro);
CadastroMenu.add(excluirLivro);
CadastroMenu.add(editLivro);
ConsultaMenu.add(consultNome);
ConsultaMenu.add(consultCod);
ConsultaMenu.add(consultAutor);
AjudaMenu.add(ajudaSobre);
AjudaMenu.add(ajudaSair);
//colocar teclas de atalho nos ítens do menu
CadastroMenu.setMnemonic(KeyEvent.VK_O);
ConsultaMenu.setMnemonic(KeyEvent.VK_C);
AjudaMenu.setMnemonic(KeyEvent.VK_A);
insertLivro.setMnemonic(KeyEvent.VK_I);
excluirLivro.setMnemonic(KeyEvent.VK_E);
editLivro.setMnemonic(KeyEvent.VK_D);
ajudaSobre.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Sobre");
}
}
);
insertLivro.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
CadastraLivro c=new CadastraLivro();
c.addPainelIsercao();
}
}
);
setResizable(false);
setSize(500,500);
setVisible(true);
setTitle("Sistema Gerenciador de Biblioteca");
ImageIcon icone = new ImageIcon("ico.gif");
setIconImage(icone.getImage());
}
}
public class CadastraLivro extends Painel{
private JPanel painelInsercao;
private JButton teste;
public void addPainelIsercao(){
//CadastraLivro cad = new CadastraLivro();
teste=new JButton("TESTANDO");
containerPainel.add(teste);
}
}
erros:
init:
deps-jar:
compile-single:
run-single:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at grafico.CadastraLivro.addPainelIsercao(CadastraLivro.java:34)
at grafico.Painel$2.actionPerformed(Painel.java:108)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Valeu Pessoal
