当前位置: 首页 > 面试题库 >

如何使用SwingExplorer浏览Applet内容?

易自珍
2023-03-14
问题内容

该站点http://www.swingexplorer.com/上有一个SwingExplorer工具,该工具用于导航挥杆内容,但是如何将其应用到Applet?尤其是如果要将其集成到eclipse-
plugin中,如何配置运行方式组态?

我想您需要向AppletViwer提供要运行的applet的参数,并让SwingExplorer导航AppletViewer(这又将运行您的applet类),但是我不知道如何将此类参数传递给AppletViwer,可以有人解释我该怎么做吗?

请注意,只需在applet顶部创建新框架并让其像往常一样运行,Swing应用程序将无法运行,因为它需要在类似浏览器的环境中运行。


问题答案:

可以提供一种基本的小应用程序 存根 对于在一帧被托管的小应用程序(一个桌面应用程序。)。applet 上下文的
几种方法很容易在应用程序中重现。其他的要么更难,不容易实现,要么与基于桌面的applet不相关。

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

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

/*
<applet code='DesktopEmbeddedApplet' width='400' height='100'>
<param name='param' value='embedded in applet viewer or the browser'>
</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<String,String> params = new HashMap<String,String>();

    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);
    }
}


 类似资料:
  • 问题内容: 这是A0.txt A0.html文件 此代码在命令中执行,但在任何浏览器中均不执行 问题答案: 正如其他人所评论的那样,您确实不想这样做。 只需在服务器端创建一个Web服务(可以是普通的servlet),然后在applet中使用它。 基本Servlet示例: 小程序基本示例: 但是要小心SQL注入。绝对不要将原始SQL查询作为请求参数或pathinfo传递,并始终使用DAO代码。 作为

  • 问题内容: 假设,我需要在特定的网站上执行一组过程,例如,填写一些表格,单击“提交”按钮,将数据发送回服务器,接收响应,再次基于响应执行一些操作,然后将数据发送回服务器网站的。我知道python中有一个webbrowser模块,但是我想这样做而不调用任何Web浏览器。它不必是一个纯脚本。 在python中有可用的模块可以帮助我做到这一点吗? 谢谢 问题答案: 您也可以看看机械化。它的意思是处理 “

  • 问题内容: 我是angularjs的新手。如何在angularjs中检测到userAgent。可以在控制器中使用它吗?尝试了以下类似的方法,但是没有运气! 我需要专门检测IE9! 问题答案: 就像Eliran Malka询问的那样,为什么需要检查IE 9? 检测浏览器的品牌和版本通常是一种难闻的气味。通常,这意味着如果您需要JavaScript来检测特定版本的浏览器,则代码会有更大的问题。 在某些

  • 我是新的angularjs。我怎么能检测用户代理在angularjs。有可能在控制器中使用它吗?尝试了下面这样的东西,但没有运气! 我需要专门检测IE9!

  • 我正在开发一个应用程序,用户可以在其中打开任意多个片段,但所有片段都是唯一类的对象。fragment类在其视图中只有一个WebView。每当用户点击WebView中的链接时,链接就会被加载到一个新的片段中。以下是如何将新片段替换为当前片段: 当用户点击后退按钮时: 一切正常,但我遇到了一些问题,当用户想回去的情况。关键是,当前一个片段从Backback弹出时,它的webview再次开始加载它的ur

  • 代码: Applet标记: 输出应该是“Welcome to the world of Applet”,但当我运行它时,没有显示任何值。 2014年10月20日12:43:39 AM org.apache.catalina.core.AprLifeCyclelistener初始化 信息:基于APR的Apache Tomcat本机库允许在 在java.library.path:C:\Program