Skip to content

Commit ee449f3

Browse files
hansonrhansonr
authored andcommitted
AppContext.getApplet(name) initial work
1 parent 296eccc commit ee449f3

File tree

2 files changed

+46
-15
lines changed

2 files changed

+46
-15
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
2019.07.01 working on JSEditorPaneUI tab business
1+
2019.07.01 working on JSEditorPaneUI tab business
2+
2019.07.01 AppContext.getApplet(name) initial work

sources/net.sf.j2s.java.core/src/swingjs/JSAppletViewer.java

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.applet.AppletContext;
44
import java.applet.AppletStub;
55
import java.applet.AudioClip;
6+
import java.applet.JSApplet;
67
import java.awt.Container;
78
import java.awt.Dimension;
89
import java.awt.Font;
@@ -18,6 +19,7 @@
1819
import java.util.ArrayList;
1920
import java.util.Enumeration;
2021
import java.util.Hashtable;
22+
import java.util.NoSuchElementException;
2123

2224
import javax.imageio.ImageIO;
2325
import 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

Comments
 (0)