33import java .applet .AppletContext ;
44import java .applet .AppletStub ;
55import java .applet .AudioClip ;
6+ import java .applet .JSApplet ;
67import java .awt .Container ;
78import java .awt .Dimension ;
89import java .awt .Font ;
1819import java .util .ArrayList ;
1920import java .util .Enumeration ;
2021import java .util .Hashtable ;
22+ import java .util .NoSuchElementException ;
2123
2224import javax .imageio .ImageIO ;
2325import javax .swing .JApplet ;
@@ -318,22 +320,56 @@ public Image getImage(URL url) {
318320 @ Override
319321 public java .applet .JSApplet getApplet (String name ) {
320322 JApplet applet = null ;
323+ @ SuppressWarnings ("unused" )
324+ String nameLC = name .toLowerCase ();
321325 /**
322326 * @j2sNative
323327 *
324- * applet = SwingJS._applets[name]; applet && (applet =
325- * applet._applet);
328+ * var applets = J2S._applets;
329+ * for (var a in applets) {
330+ * if (("" + applets[a].getParameter$S("name")).toLowerCase() == nameLC) {
331+ * applet = applets[a];
332+ * }
333+ * }
334+ * if (!applet) {
335+ * applet = applets[name];
336+ * }
337+ * applet && (applet = applet._applet);
326338 */
327- {
328-
329- }
330339 return applet ;
331340 }
332341
342+ @ SuppressWarnings ("unused" )
333343 @ Override
334- public Enumeration <java .applet .JSApplet > getApplets () {
335- // not supported for now
336- return null ;
344+ public Enumeration <JSApplet > getApplets () {
345+ ArrayList <JSApplet > appletList = new ArrayList <>();
346+ /**
347+ * @j2sNative
348+ *
349+ * var applets = J2S._applets;
350+ * for (var a in applets) {
351+ * var app = applets[a]._applet;
352+ * if (app && !appletList.contains$O(app))
353+ * appletList.add$O(app);
354+ * }
355+ */
356+ return new Enumeration () {
357+
358+ private int i = 0 ;
359+
360+ @ Override
361+ public boolean hasMoreElements () {
362+ return i < appletList .size ();
363+ }
364+
365+ @ Override
366+ public Object nextElement () {
367+ if (i >= appletList .size ())
368+ throw new NoSuchElementException ();
369+ return appletList .get (i ++);
370+ }
371+
372+ };
337373 }
338374
339375 @ Override
@@ -356,9 +392,6 @@ public void showStatus(String status) {
356392 *
357393 * Clazz._LoaderProgressMonitor.showStatus(status, true);
358394 */
359- {
360- System .out .println (status );
361- }
362395 }
363396
364397 private void showAppletStatus (String status ) {
@@ -374,9 +407,6 @@ private void showAppletException(Throwable t) {
374407 * if (t.printStackTrace$) t.printStackTrace$();
375408 * else System.out.println(t.stack);
376409 */
377- {
378- }
379- // repaint();
380410 }
381411
382412 /**
0 commit comments