Problema ao exibir Jtable

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();		
		}

		
}

fica mais facil se vc disser onde (em qual linha) esta o erro…

ou ainda colar pra gente o stacktrace…

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)

provavelmente na criação da minha JTable…

Tenta fazer o seguinte.

Object [] tituloColuna = new Object[]{"Coluna1","Coluna2","Coluna3"};
DefaultTableModel modelo = new DefaulttTableModel();

for(listaComAsInformacoes) {
   modelo.addRow(adicionaALinhaComAInformacaoAqui);
}

tabela.setModel(modelo);

Tenho certeza que vai funcionar.

O código acima e só um exemplo dos passos a serem seguidos, olhe na API do Java para consultar as
assinaturas dos métodos.