Exibir mensagem "Banco de Dados não conectado"

Pessoal,

Estou com uma dúvida, fiz um programinha básico de cadastro, porém, ao invés do programa mandar uma mensagem de erro no visor da minha IDE, eu queria que aparecesse uma mensagem JOptionPane.showInputMessage falando que o banco não está conectado.

Não sei onde posso fazer a verificação =(

Essa é minha classe do Banco de Dados

[code]package br.faetec.cadastrogeral.model.dao;

// Classe com o Design Pattern Singleton para conex�o com o banco de dados
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Database {

private String url;
private String usuario;
private String senha;
private String driver;
private static Connection conexao;

public Database() throws SQLException {

    inicializa("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/cadastro", "root", "");
}

public Database(String driver, String url, String usuario, String senha) throws SQLException, ClassNotFoundException {
    inicializa(driver, url, usuario, senha);
}

private void inicializa(String driver, String url, String usuario, String senha) throws SQLException {
    setUsuario(usuario);
    setSenha(senha);
    setUrl(url);
    setDriver(driver);
    try {
        Class.forName(getDriver());
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    }
    abreConexao();
}

public Connection getInstance() throws SQLException {
    abreConexao();
    return getConexao();
}

public void abreConexao() throws SQLException {
    if (getConexao() == null) {
        setConexao(DriverManager.getConnection(getUrl(), getUsuario(), getSenha()));
    }
}

public void fechaConexao() throws SQLException {
    getConexao().close();
    setConexao(null);
}

@Override
protected void finalize() throws SQLException {
    fechaConexao();
}

public String getUrl() {
    return url;
}

public void setUrl(String url) {
    this.url = url;
}

public String getUsuario() {
    return usuario;
}

public void setUsuario(String usuario) {
    this.usuario = usuario;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}

public String getDriver() {
    return driver;
}

public void setDriver(String driver) {
    this.driver = driver;
}

private Connection getConexao() {
    return conexao;
}

@SuppressWarnings("static-access")
private void setConexao(Connection conexao) {
    this.conexao = conexao;
}

}
[/code]

Porque não separa o codigo.



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

import javax.swing.JOptionPane;

public class Conexao {
	
	private static final String DRIVER = "com.mysql.jdbc.Driver";
	private static final String DATABASE = "mysql";
	private static final String LOCAL = "localhost";
	private static final String STR = "jdbc:mysql://"+LOCAL+":3306/"+DATABASE;
	private static final String USUARIO = "root";
	private static final String SENHA = "root";
	
	
	public static Connection getConexao() throws SQLException{
		//Variavel de conexão
		Connection conn = null;
		try{
			//carregando drive
			Class.forName(DRIVER);
			//Estabelecendo conexao
			conn = DriverManager.getConnection(STR, USUARIO, SENHA);
			System.out.println("Obtendo a conexão");
			JOptionPane.showMessageDialog(null, "Conexão efetuada com sucesso");
			//Retornando a conexão
			return conn;
		}catch(ClassNotFoundException e){
			//Tratar caso não carregar o driver
			JOptionPane.showMessageDialog(null, "Drive não encontrado");
		}catch (SQLException e){
			//Tratar caso não conecta
			JOptionPane.showMessageDialog(null, "Não foi possivel conectar");
		}
		return conn;
	}
	
	public static void fecharConexao(Connection conn){
		
		try{
			//Fechar conexão
			conn.close();
		}catch(SQLException e){
			System.out.println("Não foi possivel fechar a conexão");
		}
	}
	
	public static void main(String[] args) {
		try {
			Conexao.getConexao();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}

usa: isso em seu catch

Aparecerá como mensagem de erro!

abraços

Hmm, legal, deu certo!

Consegui adaptar, deu certinho!

Então, eu sou novo em Java, então fui instruído a fazer assim, mas é bom conhecer esse método, fica mais limpo o código.

Obrigado!