< prev index next >

src/java.desktop/share/classes/sun/applet/AppletPanel.java

Print this page

        

*** 63,79 **** /** * The applet (if loaded). */ Applet applet; - /** - * Applet will allow initialization. Should be - * set to false if loading a serialized applet - * that was pickled in the init=true state. - */ - protected boolean doInit = true; - /** * The classloader for the applet. */ protected AppletClassLoader loader; --- 63,72 ----
*** 139,149 **** boolean loadAbortRequest = false; /* abstract classes */ abstract protected String getCode(); abstract protected String getJarFiles(); - abstract protected String getSerializedObject(); @Override abstract public int getWidth(); @Override abstract public int getHeight(); --- 132,141 ----
*** 428,455 **** if (status != APPLET_LOAD && status != APPLET_DESTROY) { showAppletStatus("notloaded"); break; } applet.resize(defaultAppletSize); ! if (doInit) { if (PerformanceLogger.loggingEnabled()) { PerformanceLogger.setTime("Applet Init"); PerformanceLogger.outputLog(); } applet.init(); ! } //Need the default(fallback) font to be created in this AppContext Font f = getFont(); if (f == null || "dialog".equals(f.getFamily().toLowerCase(Locale.ENGLISH)) && f.getSize() == 12 && f.getStyle() == Font.PLAIN) { setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); } - doInit = true; // allow restarts - // Validate the applet in event dispatch thread // to avoid deadlock. try { final AppletPanel p = this; Runnable r = new Runnable() { --- 420,445 ---- if (status != APPLET_LOAD && status != APPLET_DESTROY) { showAppletStatus("notloaded"); break; } applet.resize(defaultAppletSize); ! if (PerformanceLogger.loggingEnabled()) { PerformanceLogger.setTime("Applet Init"); PerformanceLogger.outputLog(); } applet.init(); ! //Need the default(fallback) font to be created in this AppContext Font f = getFont(); if (f == null || "dialog".equals(f.getFamily().toLowerCase(Locale.ENGLISH)) && f.getSize() == 12 && f.getStyle() == Font.PLAIN) { setFont(new Font(Font.DIALOG, Font.PLAIN, 12)); } // Validate the applet in event dispatch thread // to avoid deadlock. try { final AppletPanel p = this; Runnable r = new Runnable() {
*** 784,821 **** } } protected Applet createApplet(final AppletClassLoader loader) throws ClassNotFoundException, IllegalAccessException, IOException, InstantiationException, InterruptedException { - final String serName = getSerializedObject(); String code = getCode(); ! if (code != null && serName != null) { ! System.err.println(amh.getMessage("runloader.err")); ! // return null; ! throw new InstantiationException("Either \"code\" or \"object\" should be specified, but not both."); ! } ! if (code == null && serName == null) { String msg = "nocode"; status = APPLET_ERROR; showAppletStatus(msg); showAppletLog(msg); repaint(); } - if (code != null) { - applet = (Applet)loader.loadCode(code).newInstance(); - doInit = true; - } else { - // serName is not null; - try (InputStream is = AccessController.doPrivileged( - (PrivilegedAction<InputStream>)() -> loader.getResourceAsStream(serName)); - ObjectInputStream ois = new AppletObjectInputStream(is, loader)) { - - applet = (Applet) ois.readObject(); - doInit = false; // skip over the first init - } - } // Determine the JDK level that the applet targets. // This is critical for enabling certain backward // compatibility switch if an applet is a JDK 1.1 // applet. [stanley.ho] --- 774,794 ---- } } protected Applet createApplet(final AppletClassLoader loader) throws ClassNotFoundException, IllegalAccessException, IOException, InstantiationException, InterruptedException { String code = getCode(); ! if (code != null) { ! applet = (Applet)loader.loadCode(code).newInstance(); ! } else { String msg = "nocode"; status = APPLET_ERROR; showAppletStatus(msg); showAppletLog(msg); repaint(); } // Determine the JDK level that the applet targets. // This is critical for enabling certain backward // compatibility switch if an applet is a JDK 1.1 // applet. [stanley.ho]
< prev index next >