2010-04-12 3 views
2

В моем понимании каждый апплет является независимым объектом. Возможно ли иметь связь между аплетами ? , Если да, то как это может быть достигнуто?Inter applet communication

Благодаря J

ответ

6

Да. Можно добиться взаимодействия между апплетами, если они находятся на одной странице и происходят из одного домена. Вы должны назвать апплеты на странице первой, используя атрибут «имя = значение», как:

<applet code="FirstApplet.class" name="firstApplet" width=nn height=nn></applet> 
<applet code="SecondApplet.class" name="secondApplet" width=nn height=nn></applet> 

с выше на месте, в FirstApplet.java, используйте следующее для доступа SecondApplet:

SecondApplet secondApplet = 
     (SecondApplet)getAppletContext().getApplet("secondApplet"); 
//invoke a method on secondApplet here 

Аналогичным образом вы можете получить доступ к FirstApplet в SecondApplet.java

0

Два ненадежные апплеты не должны быть в состоянии общаться. Единственное исключение - если они были запущены с одного и того же веб-сайта. Это позволит им связываться с HTTP-запросами на этом сайте или (как состояния @Matthew) путем установки и чтения файлов cookie в локальном хранилище cookie.

1

Да. Вы можете использовать куки-файлы, как указано в this previous answer.

+0

Привет, «предыдущий ответ» показывает экземпляр доступа к свойствам браузера из апплета с помощью JSObject. Речь идет не о взаимодействии между апплетами. –

+1

@Suresh Kumar Cookies - это способ общения апплетов. Работа выполнена. –

0

Два апплета в одном и том же контексте апплета могут взаимодействовать достаточно легко. К сожалению, определение того, что два апплета находятся в одном контексте, не документировано. Реализации могут делать удивительные вещи, особенно при обработке ошибок или исчерпании ресурсных условий.

Как правило, вы должны вернуться в браузер, используя LiveConnect для общения, как ответ Мэтью Флашен.

Вы можете пойти дальше и связаться с исходным сервером. Даже если апплеты загружаются с разных хостов, можно установить путь связи между двумя источниками. HTTP или очень лучший HTTPS, должен быть надежным способом связи с сервером.

0

Существует много способов общения между двумя апплетами. Я не принимаю код. Просто упоминает пути, - Использование Javascript - Статические переменные - Singleton Object - RMI