Conexao com o banco de dados

Bom pessoal sou novo no fórum e tb como programador java.
Código para a conexao ao banco de dados FireBird

package mfo;

import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author Andrey
 */

public class Conexao {

   public Connection con = null;
   public Statement stm = null;

   public String abrirConexao(){
     String status = "Falha na conexão.";

      try {
  
         Class.forName("org.firebirdsql.jdbc.FBDriver").newInstance();
         con =
            DriverManager.getConnection(
               "jdbc:firebirdsql:localhost/3050:C:/Arquivos de programas/IBExpert/IBExpert/MFO.fdb",
               "SYSDBA",
               "masterkey");
         stm = con.createStatement();
        status = "Conectado com sucesso.";
      } catch (Exception e) {
         e.toString();
      }
        return status;
   }
   
   
   public String fecharConexao(){
     String status = "Falha ao finalizar conexão.";



        if (con != null){
        try {
               con.close();
               status = "Conexão finalizada com sucesso.";
            }catch(SQLException e) {
               e.printStackTrace();
               }
          }
     return status;
   }
}

Classe onde estou tratando o botao para gravar no banco de dados.

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         


        Connection con = null;
        try {
            con = DriverManager.getConnection("C:/Arquivos de programas/IBExpert/IBExpert/MFO.fdb", "SYSDBA", "masterkey");
        } catch (SQLException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
       
        Statement stmt = null;
        try {
            stmt = (Statement) con.createStatement();
        } catch (SQLException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        String nome = jTextField1.getText();
        String login = jTextField2.getText();
        String senha = jPasswordField1.getText();
        String email = jTextField4.getText();
        String endereco = jTextField6.getText();
        int cpf = Integer.parseInt(jTextField3.getText());
        int idade = Integer.parseInt(jTextField5.getText());
        String salva = "insert into MFO values ('" + nome + "','" + login +"'," + senha + "','" + cpf +"','" +email+ "','" + idade + "','" + endereco + ")";
        System.out.println(salva);
        try {
            stmt.execute();
        } catch (Exception ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
            JOptionPane.showMessageDialog(null,"Salvo com sucesso!");



    }                                       

Aqui o erro gerado quando aperto no botão.

27/04/2009 19:49:31 Janelas.Cadastro jButton1ActionPerformed
SEVERE: null
java.sql.SQLException: No suitable driver found for C:/Arquivos de programas/IBExpert/IBExpert/MFO.fdb
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at Janelas.Cadastro.jButton1ActionPerformed(Cadastro.java:198)
        at Janelas.Cadastro.access$000(Cadastro.java:28)
        at Janelas.Cadastro$1.actionPerformed(Cadastro.java:73)
        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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6216)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5981)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4583)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        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)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at Janelas.Cadastro.jButton1ActionPerformed(Cadastro.java:205)
        at Janelas.Cadastro.access$000(Cadastro.java:28)
        at Janelas.Cadastro$1.actionPerformed(Cadastro.java:73)
        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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6216)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5981)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4583)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        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)
CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)