I made a weird applet which allows you to paint with your voice. Obviously it requires access to the microphone, but Java applets are not allowed access unless they are signed.
You can create a self-signed certificate using the Java keytool. It's sufficient for educational or testing purposes, but if you deploy code signed with it, people are unlikely to trust it.
I think Thawte used to offer a free e-mail signing certificate that could also be used for signing code. I'm not sure if that is still the case.