/** * Call this method to initialize an applet from your launcher class <code>MyAppletLauncher.init() * </code> method. * * @param sClass class name in form "MyClass" for default package or "com.abc.MyClass" for class * in some package * @param appletParent parent applet from a launcher. * @throws Throwable wrapper for many exceptions thrown while applet instantiation and calling * init() method. */ public void initApplet(String sClass, final JApplet appletParent) throws Throwable { Class<?> clazz = loadClass(sClass); logInfo( LogArea.CONFIG, "initApplet() --> %s.init(); Loader: %s", sClass, clazz.getClassLoader()); applet = (JApplet) clazz.newInstance(); applet.setStub( new AppletStub() { @Override public boolean isActive() { return appletParent.isActive(); } @Override public URL getDocumentBase() { return appletParent.getDocumentBase(); } @Override public URL getCodeBase() { return appletParent.getCodeBase(); } @Override public String getParameter(String name) { return appletParent.getParameter(name); } @Override public AppletContext getAppletContext() { return appletParent.getAppletContext(); } @Override public void appletResize(int width, int height) { appletParent.resize(width, height); } }); applet.init(); appletParent.setContentPane(applet.getContentPane()); }