Вызов Java-апплета из Flex - PullRequest
       23

Вызов Java-апплета из Flex

0 голосов
/ 22 декабря 2009

Я работаю над приложением Flex и мне нужно открыть Java-апплет из Flex (например, нажав кнопку). В частности, я хотел бы открыть imageJ, определенную программу обработки изображений, которая могла бы работать как приложение, апплет или быть интегрированной в веб-страницу. Есть ли способ позвонить из Flex? Я видел несколько руководств, которые объясняют, как вызывать одну функцию в другом файле Java из Flex, но я не уверен, что это то, что я ищу. Спасибо за ваши ответы, веселит,

David

Ответы [ 2 ]

1 голос
/ 22 декабря 2009

Я не знаю, есть ли лучший способ, но если бы я делал это, я бы написал функцию JavaScript, которая бы загружала Java-апплет (может быть просто document.write("<object …>")), а затем использовал Flex ExternalInterface для вызова этого JavaScript.

0 голосов
/ 28 июля 2014

Предоставьте открытый метод в вашем апплете, который вызовет 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";
}
}

Удачного кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...