The default behaviour downloading all Jar files is usually acceptable, it downloads and shows a progress bar, but it sounds like you have a requirement to split things up. AFAIK, manually downloading classes and adding to a classpath (or custom class loaders) can't be done without signing your applet which is a path I guess you don't want to follow.
You might want to take a look at lazy downloading, available since Java 1.6 update 10.
Without knowing your exact requirements, my general advice on how you could split it would be to download all class files in the initial Jar and download resources (images / sounds / properties) as required.
Code for how to download from within an applet:
URL url = new URL(getCodeBase(), filename);
URLConnection urlConnection = url.openConnection();
BufferedInputStream bufferedInputStream = null;
try {
bufferedInputStream = new BufferedInputStream(urlConnection.getInputStream());
// ... input data
} finally {
if (bufferedInputStream != null) {
bufferedInputStream.close();
}
}