【问题标题】:Call a Java Applet from Flex从 Flex 调用 Java 小程序
【发布时间】:2014-07-28 16:16:25
【问题描述】:

我正在开发 Flex 应用程序,我需要从 Flex 打开一个 Java Applet(例如单击一个按钮)。我特别想打开 imageJ,这是一个特殊的成像程序,可以作为应用程序、小程序或集成到网页中。有没有办法从 Flex 调用它?我已经看过一些教程,它们解释了如何从 Flex 调用另一个 Java 文件中的单个函数,但我不太确定它是否是我正在寻找的。 谢谢你的回答, 干杯,

大卫

【问题讨论】:

    标签: apache-flex applet


    【解决方案1】:

    我不知道是否有更好的方法,但如果我这样做,我会编写一个 JavaScript 函数来加载 Java 小程序(可以像 document.write("<object …>") 一样简单),然后使用 Flex 的 @987654321 @ 调用该 JavaScript。

    【讨论】:

    • 是的 - 你真的会想用 ExternalInterface 来工作
    【解决方案2】:

    在您的小程序中公开一个公共方法,flex 将调用该方法。您可以通过以下方式加载小程序。这是一个示例程序,调用java方法并从java中获取值,你可以根据需要进行更改

        <object
        id = "MyApplet"
        name = "Some name"
        classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0">
        <PARAM NAME = "CODE" VALUE = "com.my.applet.MyApplet.class" >
        <PARAM NAME = "CODEBASE" VALUE = "." >
        <PARAM NAME = "ARCHIVE" VALUE = "applet-client.jar" >
        <PARAM NAME = "cache_option" VALUE="No">
    
        <PARAM NAME = "java_version" VALUE="1.6+">
        <param name = "type" value = "application/x-java-applet;version=1.6">
        <comment>
            <embed
                name = "MyApplet"
                type = "application/x-java-applet;version=1.6" \
                CODE = "com.my.applet.MyApplet.class" \
                JAVA_CODEBASE = "." \
                ARCHIVE = "applet-client.jar"
                cache_option = "No"
                scriptable = false
                pluginspage = "http://java.sun.com/products/plugin/index.html#download"
                width="0" height="0"
            >
                <noembed>
                </noembed>
            </embed>
        </comment>
    
    </object>
    

    在您的 html 文件中包含上述内容(我没有解释所有内容),小程序将被下载并准备好使用。现在单击 flex 应用程序上的按钮,您应该会看到如下所示的内容。

    var returnedStringFrom java:String=ExternalInterface.call("document.MyApplet.functionInJava",stringParam);
    

    注意:MyApplet 是上面对象声明中的名称,functionInJava 是 java 类 com.my.applet.MyApplet 中的公共函数。它接受一个参数并返回一个字符串参数。 Java 程序如下所示。

    package com.my.applet;
    
    public class MyApplet{
    //other methods..
    
    public String functionInJava(String stringpm){
    
    // your implementation 
    return "SomeString";
    }
    }
    

    编码愉快。

    【讨论】:

      猜你喜欢
      • 2011-05-24
      • 2011-04-05
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      相关资源
      最近更新 更多