Implementação com base na classe oferecida pelo Fabio

E necessario adicionar os jars que coloquei para ajustar os erros