加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Swing GUI中嵌入第三方JApplet并传递参数

发布时间:2020-12-15 02:53:35 所属栏目:Java 来源:网络整理
导读:我想在Swing应用程序中嵌入第三方applet.基本上,我希望它只是另一个小组.该applet使用许多参数,例如 final String config_filename = getParameter(XXX); 我已经看到很多关于如何通过HTML发送参数值的文档,但是你如何通过代码(或者属性文件)来做呢?任何帮助
我想在Swing应用程序中嵌入第三方applet.基本上,我希望它只是另一个小组.该applet使用许多参数,例如
final String config_filename = getParameter(XXX);

我已经看到很多关于如何通过HTML发送参数值的文档,但是你如何通过代码(或者属性文件)来做呢?任何帮助,将不胜感激!

解决方法

实现AppletStub&将其设置为applet实例的存根.例如.
/*
<applet code='ParamApplet' width='200' height='200'>
<param name='param' value='foo'>
</applet>
*/
import java.applet.*;
import javax.swing.*;
import java.net.URL;
import java.util.HashMap;

public class ParamApplet extends JApplet {

    public void init() {
        String param = getParameter("param");
        System.out.println("parameter: " + param);
        add(new JLabel(param));
    }

    public static void main(String[] args) {
        ApplicationAppletStub stub = new ApplicationAppletStub();
        stub.addParameter(args[0],args[1]);
        ParamApplet pa = new ParamApplet();
        pa.setStub(stub);

        pa.init();
        pa.start();
        pa.setPreferredSize(new java.awt.Dimension(200,200));
        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() {
        return null;
    }

    public URL getCodeBase() {
        return null;
    }

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

典型的I / O.

prompt>java ParamApplet param "apples & oranges"
parameter: apples & oranges

prompt>java ParamApplet param 42
parameter: 42

prompt>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读