private void runLoader(){
  if (status != APPLET_DISPOSE) {
    showAppletStatus("notdisposed");
    return;
  }
  dispatchAppletEvent(APPLET_LOADING,null);
  status=APPLET_LOAD;
  loader=getClassLoader(getCodeBase(),getClassLoaderCacheKey());
  String code=getCode();
  setupAppletAppContext();
  try {
    loadJarFiles(loader);
    applet=createApplet(loader);
  }
 catch (  ClassNotFoundException e) {
    status=APPLET_ERROR;
    showAppletStatus("notfound",code);
    showAppletLog("notfound",code);
    showAppletException(e);
    return;
  }
catch (  InstantiationException e) {
    status=APPLET_ERROR;
    showAppletStatus("nocreate",code);
    showAppletLog("nocreate",code);
    showAppletException(e);
    return;
  }
catch (  IllegalAccessException e) {
    status=APPLET_ERROR;
    showAppletStatus("noconstruct",code);
    showAppletLog("noconstruct",code);
    showAppletException(e);
    return;
  }
catch (  Exception e) {
    status=APPLET_ERROR;
    showAppletStatus("exception",e.getMessage());
    showAppletException(e);
    return;
  }
catch (  ThreadDeath e) {
    status=APPLET_ERROR;
    showAppletStatus("death");
    return;
  }
catch (  Error e) {
    status=APPLET_ERROR;
    showAppletStatus("error",e.getMessage());
    showAppletException(e);
    return;
  }
 finally {
    dispatchAppletEvent(APPLET_LOADING_COMPLETED,null);
  }
  if (applet != null) {
    applet.setStub(this);
    applet.hide();
    add("Center",applet);
    showAppletStatus("loaded");
    validate();
  }
}

private void runLoader ( ) { if ( status != APPLET_DISPOSE ) { showAppletStatus ( "notdisposed" ) ; return ; } dispatchAppletEvent ( APPLET_LOADING , null ) ; status = APPLET_LOAD ; loader = getClassLoader ( getCodeBase ( ) , getClassLoaderCacheKey ( ) ) ; String code = getCode ( ) ; setupAppletAppContext ( ) ; try { loadJarFiles ( loader ) ; applet = createApplet ( loader ) ; } catch ( ClassNotFoundException e ) { status = APPLET_ERROR ; showAppletStatus ( "notfound" , code ) ; showAppletLog ( "notfound" , code ) ; showAppletException ( e ) ; return ; } catch ( InstantiationException e ) { status = APPLET_ERROR ; showAppletStatus ( "nocreate" , code ) ; showAppletLog ( "nocreate" , code ) ; showAppletException ( e ) ; return ; } catch ( IllegalAccessException e ) { status = APPLET_ERROR ; showAppletStatus ( "noconstruct" , code ) ; showAppletLog ( "noconstruct" , code ) ; showAppletException ( e ) ; return ; } catch ( Exception e ) { status = APPLET_ERROR ; showAppletStatus ( "exception" , e . getMessage ( ) ) ; showAppletException ( e ) ; return ; } catch ( ThreadDeath e ) { status = APPLET_ERROR ; showAppletStatus ( "death" ) ; return ; } catch ( Error e ) { status = APPLET_ERROR ; showAppletStatus ( "error" , e . getMessage ( ) ) ; showAppletException ( e ) ; return ; } finally { dispatchAppletEvent ( APPLET_LOADING_COMPLETED , null ) ; } if ( applet != null ) { applet . setStub ( this ) ; applet . hide ( ) ; add ( "Center" , applet ) ; showAppletStatus ( "loaded" ) ; validate ( ) ; } }
load the applet into memory . runs in a seperate ( and interruptible ) thread from the rest of the applet event processing so that it can be gracefully interrupted from things like hotjava .
