如何使用SwingExplorer导航Applet内容?

这个站点http://www.swingexplorer.com/上有SwingExplorer工具,用于浏览swing内容但是如何将它应用到Applet?,特别是如果我想将它集成到eclipse-plugin我该如何配置运行组态?

我想您需要提供要运行到AppletViwer的applet的参数,并让SwingExplorer导航AppletViewer(后者又运行您的applet类)但我不知道如何将这样的参数传递给AppletViwer,Can谁解释我怎么做?

请注意,只需在applet上创建新框架并让它像往常一样运行Swing应用程序不会这样做,因为它需要在类似浏览器的环境中运行。

可以为框架(桌面应用程序)中托管的applet提供基本applet 存根 。 applet 上下文的几种方法很容易在应用程序中重现。 其他的要么难以实现,要么难以实现,要么与基于桌面的applet无关。

此示例可以作为嵌入在HTML或applet查看器中的applet运行,也可以作为嵌入在桌面组件中的applet运行(特别是JOptionPane因为代码更短)。

该示例改编自OP对applet参数更感兴趣的示例。 此版本还增加了对报告文档和代码库的支持。

 /*    */ import java.applet.*; import java.awt.*; import javax.swing.*; import java.io.File; import java.net.URL; import java.util.HashMap; public class DesktopEmbeddedApplet extends JApplet { public void init() { setLayout(new GridLayout(0,1)); String param = getParameter("param"); System.out.println("parameter: " + param); add(new JLabel(param)); add(new JLabel("" + getDocumentBase())); add(new JLabel("" + getCodeBase())); } public static void main(String[] args) { ApplicationAppletStub stub = new ApplicationAppletStub(); stub.addParameter("param", "embedded in application"); DesktopEmbeddedApplet pa = new DesktopEmbeddedApplet(); pa.setStub(stub); pa.init(); pa.start(); pa.setPreferredSize(new java.awt.Dimension(400,100)); JOptionPane.showMessageDialog(null, pa); } } class ApplicationAppletStub implements AppletStub { HashMap params = new HashMap(); public void appletResize(int width, int height) {} public AppletContext getAppletContext() { return null; } public URL getDocumentBase() { URL url = null; try { url = new File(".").toURI().toURL(); } catch(Exception e) { System.err.println("Error on URL formation! null returned." ); e.printStackTrace(); } return url; } public URL getCodeBase() { URL url = null; try { url = new File(".").toURI().toURL(); } catch(Exception e) { System.err.println("Error on URL formation! null returned." ); e.printStackTrace(); } return url; } public boolean isActive() { return true; } public String getParameter(String name) { return params.get(name); } public void addParameter(String name, String value) { params.put(name, value); } }