Código não retorna dados do banco

Salve galera.

Estou com um problema, criei um jtable, e gostaria de exibir nele as informações de duas tabelas diferente nesse único jtable, fiz um código de relacionamento e executei no mysql e funciono, mas na hora de usar no java está dando erro, alguém poderia me ajudar. Segue o código abaixo:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * TAgendaEventos.java
 *
 * Created on 11/10/2011, 18:59:45
 */
package kartodromo;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Timer;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;

public class TAgendaEventos extends javax.swing.JInternalFrame {

    /** Creates new form TAgendaEventos */
    public TAgendaEventos() {
       
            boolean consulta=true;
        
        Connection conn = null;
        String url = "jdbc:mysql://localhost:3306/";
        String dbName = "test";
        String driver = "com.mysql.jdbc.Driver";
        
        try{ //tratamento de erros
            
            Class.forName(driver);
            conn =    (Connection) DriverManager.getConnection(url+dbName,"root","");

            
            Statement stmt = null;
            try {
                stmt = (Statement) conn.createStatement();
            } catch (SQLException ex) {
                Logger.getLogger(TCadastroCliente.class.getName()).log(Level.SEVERE, null, ex);
            }
            
             DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
  
             modelo.setNumRows(0);       
             
             TableRowSorter<TableModel> sorter;
             sorter = new TableRowSorter<TableModel>(modelo);
             jTable1.setRowSorter(sorter);	
    
           
             ResultSet rs = stmt.executeQuery("select eventos.descricao, eventos.data_inicio, eventos.data_final, bateria.descricao, bateria.inicio_programado from eventos inner join bateria");
 
             
             while(rs.next()) {
             String[] dados = new String[6];


             dados[1] = rs.getString("descricao");
             dados[2] = rs.getString("data_inicio");
             dados[3] = rs.getString("data_final");
             dados[4] = rs.getString("descricao");
             dados[5] = rs.getString("inicio_programado");
             


   
             modelo.addRow(dados);

                          
            consulta=false;

             } 
             
             
}
        catch (ClassNotFoundException ex) {
            Logger.getLogger(TBateria.class.getName()).log(Level.SEVERE, null, ex);
        }        catch (SQLException ex) {
            Logger.getLogger(TBateria.class.getName()).log(Level.SEVERE, null, ex);
        }       
    

     initComponents();
    
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nome do Evento", "Data Início", "Data Encerramento", "Nome do Campeonato", "Início Programado"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 639, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 360, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>
    // Variables declaration - do not modify
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    // End of variables declaration
}

E esse é o erro


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at kartodromo.TAgendaEventos.<init>(TAgendaEventos.java:58)
	at kartodromo.TEntrada.agenda(TEntrada.java:763)
	at kartodromo.TEntrada.jMenuItem15ActionPerformed(TEntrada.java:1061)
	at kartodromo.TEntrada.access$3800(TEntrada.java:59)
	at kartodromo.TEntrada$39.actionPerformed(TEntrada.java:505)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850)
	at java.awt.Component.processMouseEvent(Component.java:6288)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6053)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4651)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
	at java.awt.Container.dispatchEventImpl(Container.java:2085)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:616)
	at java.awt.EventQueue$2.run(EventQueue.java:614)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

amigo debug seu código pra ver de onde vem o nullpointer, pq naum consegui identificar naum…

Camarada, tem muita coisa no teu código que não está de acordo (sendo direto, ele está horrível).
1 - Por que um JInternalFrame faz acesso ao banco de dados? OO permite que você separe responsabilidades em classes diferentes.
2 - Por que import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; e não import java.sql.Connection; import java.sql.Statement;?
3 - DefaultTableModel?
4 - Statement não é muito legal, prefira preparedStatement

Sugiro, urgentemente, que você separe a parte de persistência da parte visual, será mais fácil identificar o problema.