ola pessoal… preciso de mais uma ajudinha de vocês…
criei uma JTable que recebe dados de uma TableModelProdutos, ela esta cadastrando tudo certinho no banco de dados e até adicionando linhas, mas na hora de mostrar na tela ta dando o famoso java.lang.NullPointerException como se não estivesse inicializada :?
ta ai me código:
public class UICadastroProdutos extends Interfaces implements TableModelListener{
private static UICadastroProdutos tela;
private JLabel lbTitulo;
private JButton btnAddProduto;
private JTable listaProdutos;
private TableModelProdutos tmProdutos;
private UICadastroProdutos(Programas programa) {
super(programa,"Tela de Produtos");
this.setSize(new Dimension(600, 400));
Container cpFrame = this.getContentPane();
cpFrame.setLayout(new BorderLayout());
lbTitulo = new JLabel("Clientes Cadastrados: ");
cpFrame.add(lbTitulo, BorderLayout.NORTH);
tmProdutos = new TableModelProdutos(meuPrograma.getListaProdutos());
tmProdutos.addTableModelListener(this);
listaProdutos = new JTable(tmProdutos);
cpFrame.add( listaProdutos,BorderLayout.CENTER);
btnAddProduto = new JButton("Novo Produto");
btnAddProduto.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
abreTelaNovoProduto();
}
});
cpFrame.add(btnAddProduto,BorderLayout.SOUTH);
}
public static UICadastroProdutos getInstance(Programas programa) {
if (tela == null) {
tela = new UICadastroProdutos(programa);
}
return tela;
}
private void abreTelaNovoProduto() {
UIInsereProduto novoProduto = UIInsereProduto.getInstance(meuPrograma,tmProdutos);
novoProduto.setVisible(true);
}
public void tableChanged(TableModelEvent arg0) {
this.invalidate();
this.repaint();
}
}
esse é o problema… não esta mostrando onde esta o erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at javax.swing.JTable.prepareRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)