While I haven't done anything like this with swing, I have with AWT-using applets, but I don't think the difference matters. Check where in your path the .class files are, and their permissions. If either of those isn't just right, it'll croak. You'll also probably need... I think it's basecode or somesuch tags in the html you're outputting with CGI.