You need to start a separate thread that loads file from the server (also unsigned applets can do this, place the file in the same folder where the applet is on the server). The applet Swing thread must start the loading thread, and when the loading thread completes it can call SwingUtils.invokeLater( ... ) to apply any changes in the Swing GUI (do not call Swing methods from the non-Swing thread directly, may hang). You can also use this approach to update control like progress bar in Swing that it could show the real progress of loading.
You guys haven't done this much, have ya? I suggest you study this tiny ad:
Devious Experiments for a Truly Passive Greenhouse!