[Resolvido]Como executar uma procedure no Netbeans 6.5 criada no Mysql 5.1?

/*Com ajuda deste fórum consegui fazer essa procedure 
no MySql que mostra o percentual de materiais utilizáveis.

DELIMITER $$
CREATE PROCEDURE Percentual_Tipo_Materiais()
BEGIN
SELECT truncate(((SELECT count(tipo_materiais)
from materiais where tipo_materiais='UTILIZÁVEL')*100/count(*)),0)
FROM materiais;
END $$
DELIMITER;

Fiz essa implementação no Netbeans.

*/

public class Percentual_Tipo_Materiais {
    ComandosSql con_materiais;
    public String PercentualTipo = "";
    public void Percentual_Tipo_Materiais_Utilizaveis(String valor){
        try{
            con_materiais = new ComandosSql();
            con_materiais.conecta();
            con_materiais.executeSQL("CALL Percentual_Tipo_Materiais()");
                while (con_materiais.resultset.next()) {
                    valor = con_materiais.resultset.getString("valor");
                    PercentualTipo = valor+"%";
                }
        }catch(Exception err){
            Funcoes.mensagemAviso("Funcionalidade não executada.");
        }
    }
/*Ao clicar num botão de um formulário teria que colocar no jtfield o resultado encontrado*/
        try{
            perc_utilizavel.Percentual_Tipo_Materiais_Utilizaveis("valor");
            jtf_Percentual_Utilizavel.setText(perc_utilizavel.PercentualTipo);
        }catch(Exception erro){
            Funcoes.mensagemErro("Ocorreu um erro no comando executado.");
        }
}
/*Infelizmente não funcionou. Sou iniciante e conto com o apoio de vocês, obrigado*/

Vamos esclarecer uma coisa primeiro.
O netbeans não faz nada.
O Eclipse não faz nada.
Quem faz alguma coisa que você programou é a linguagem java, e a JVM, é o PHP ou qual seja a linguagem que você programou.

Esclarecida a situação, o que vem a ser a classe ComandosSQL?

Aliás, para que java execute uma StoredProcedure, se faz necessário o uso de uma classe chamada CallableStatement, do pacote java.sql.

Se ComandosSQL possui objetos desta classe, CallableStatement, ainda será preciso postá-la, para melhor entendermos.
Caso contráro (acredito que esteja usando Statement ou PreparedStatement), pesquise no google.
A sintaxe é parecida, fácil e direta.

/*Fiz a classe Comandos sql para fazer conexão e chamadas de comandos sql no netbeans:*/
public class ComandosSql {
    
    package MVC.Modelo.Dao;
    import java.sql.*;
    import utililidades.Funcoes;

public class ComandosSql {

    final private String driver = "com.mysql.jdbc.Driver";
    final private String url = "jdbc:mysql://localhost:3306/almoxarifado";
    final private String usuario = "root";
    final private String senha = "123456";

    private Connection conexao;
    public  Statement statement;
    public  ResultSet resultset;

    public boolean conecta(){//Abrindo Conexão
       boolean result = true; 
        try{
            Class.forName(driver);
            conexao = DriverManager.getConnection(url,usuario,senha);
        }
        catch(ClassNotFoundException Driver){
            Funcoes.mensagemAviso("Driver da conexão não encontrado: "+Driver);
            result = false;
        }
       catch(SQLException Fonte){
            Funcoes.mensagemAviso("Erro na conexão com a fonte de dados: "+Fonte);
            result = false;
        }
       return result;
    }
    
    public void desconecta(){//Fechando conexão
        boolean result = true;
        try {
            conexao.close();
            Funcoes.mensagemAviso("Banco de Dados fechado.");
        } catch (SQLException fecha) {
            Funcoes.mensagemAviso("Não foi possível fechar o banco de dados. "+fecha);
            result = false;
        }
    }

    public void executeSQL(String sql){//Inserindo comandos SQL
        try{
            statement = conexao.createStatement();
            resultset = statement.executeQuery(sql);

        }catch(SQLException sqlex){
           Funcoes.mensagemErro("Não foi possível "+
                   "executar o comando sql,"+sqlex+", o sql passado foi: "+sql);
        }
    }
}

/*Até que funciona legal mas com as procedures não rola, com o seu esclarecimento 
percebo que é necessário um método específico para chamar procedures. 
Gostaria de ajuda para fazer um método para utilizar o CallableStatement pra poder chamar a procedure.
Se você tiver exemplos de chamadas de procedures em Mysql por favor mande.
Sou estudante ainda e por isso que estou com dificuldades. 

Obrigado.*/ 
    public  Statement statement; 

Isto não faz nada para chamar um preparedStatement. Apenas erro.
Uma pesquisa no google por CallableStatement e você terá exemplos simples, médios e complexos.
Qualquer dúvida, pergunte no fórum.

Muito obrigado, até mais…