Пример #1
0
  /**
   * 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());
  }