Conectar ao banco usando dados de uma frame

Boa tarde!
Tenho uma frame onde o usuario digita os dados de acesso ao banco, pex. nome do banco, driver, usuario,senha e assim por diante. Então preciso pegar esses dados e conectar ao banco. No entanto, até agora só conheço essa forma de conectar ao banco. Desta forma, tenho todas os metodos ‘tradicionais’, (alterar,excluir,… pronto para ser usado).
O que eu preciso fazer para pode pegar da tela e conectar ao banco, essa ação de pegar e conectar vai ficar na classe que contem a acao dos botoes?

public static void main(String[] args) {

		try {
			Class.forName("org.gjt.mm.mysql.Driver");
			Connection conn =
				DriverManager.getConnection("jdbc:mysql://LOCALHOST/bi_teste" , "root", "bob" );
			System.out.println ("conexao ok");
		} catch (ClassNotFoundException e) {
			System.out.println (e.getMessage());
		}catch (SQLException e) {
			System.out.println(e.getMessage());
		}

Você pode criar uma classe somente para a conexão e as operações, e uma classe para o frame. No frame você instancia um novo objeto da classe de conexão, passando pra ele as informações como argumentos.

Algo assim:

Classe de conexão

public class Conexao {

       public void conectar (String url, String usuario, String senha) {
            try {  
               Class.forName("org.gjt.mm.mysql.Driver");  
               Connection conn =  DriverManager.getConnection(url , usuario, senha );  
               System.out.println ("conexao ok");  
            } catch (ClassNotFoundException e) {  
               System.out.println (e.getMessage());  
            }catch (SQLException e) {  
               System.out.println(e.getMessage());  
            } 
       }

      Outros métodos de operação...
}

Classe do frame, dentro do evento do botão conectar:

Conexao conexao = new Conexao();
conexao.conectar(tfUrl.getText(), tfUsuario.getText(), tfSenha.getText());

Depois que postei , cai na real e fiz algo muito parecido com que voce postou pra mim. Contudo ficou assim, mas continua dando erro.


-->classe conexao

String driver = pagina.getDriver();
    String url = pagina.getUrl();
    String usuario = pagina.getUsuario();
    String senha = pagina.getSenha();

    try{
      Class.forName(driver).newInstance();// pegar o que veio da tela---- tentei armazenar em uma variavel--- axo ki naum deu certo
      Connection conn = DriverManager.getConnection(url,usuario,senha);
      return conn;
    }
    catch(SQLException ex){
      System.out.println("SQLException: " + ex.getMessage());
      System.out.println("SQLState: " + ex.getSQLState());
      System.out.println("VendorError: " + ex.getErrorCode());
      return null;
    }
    catch(Exception e){
      System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
      return null;
    }
  }
}

–> depois na acao do botao fiz assim :

Conexao conexao = new Conexao();  
conexao.conectar(); // passei vazio -- pq chamei esse metodo de outra classe  
				

Qual o erro que tá dando?

erro de programador iniciante… Consegui arrumar e minha classe conexao ficou assim… exatamente como você me informou… e a classe onde tem o botão ficou como vc me passou… Muito obrigado… consegui aprender mais um coisa nova nesta tarde.

public void conectar (String driver,String url, String usuario, String senha) {  
		try {    
			Class.forName(driver);    
			Connection conn =  DriverManager.getConnection(url , usuario, senha );    
			System.out.println ("conexao ok"); 
			JOptionPane.showMessageDialog(null, "Conexão bem Sucedida","OK"
					,JOptionPane.INFORMATION_MESSAGE); 

		} catch (ClassNotFoundException e) {    
			System.out.println (e.getMessage());
			JOptionPane.showMessageDialog(null, "Não foi possível conetar ao banco","OK"
					,JOptionPane.ERROR_MESSAGE); 


		}catch (SQLException e) {    
			System.out.println("SQLException: " + e.getMessage());
			System.out.println("SQLState: " + e.getSQLState());
			System.out.println("VendorError: " + e.getErrorCode());
			JOptionPane.showMessageDialog(null, "Não foi possível conetar ao banco","OK"
					,JOptionPane.ERROR_MESSAGE); 

		}catch(Exception e){
			System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
			JOptionPane.showMessageDialog(null, "Não foi possível conetar ao banco","OK"
					,JOptionPane.ERROR_MESSAGE); 

		}
	}   
}