Spec-Zone .ru
спецификации, руководства, описания, API
След: Развертывание
Урок: Апплеты Java
Раздел: Выполнение Больше С Апплетами
Передача С Другими Апплетами
Домашняя страница > Развертывание > Апплеты Java

Передача С Другими Апплетами

Апплет Java может связаться с другими апплетами Java при использовании функций JavaScript в родительской веб-странице. Функции JavaScript включают передаче между апплетами, получая сообщения от одного апплета и вызывая методы других апплетов. См. следующие темы для получения дополнительной информации о взаимодействии между кодом Java и кодом JavaScript:

Следует избегать использования следующих механизмов, чтобы найти другие апплеты и данные доли между апплетами:

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

Апплеты Отправителя и Получателя показывают затем. Когда пользователь нажимает кнопку, чтобы постепенно увеличить счетчик, апплет Отправителя вызывает функцию JavaScript, чтобы отправить запрос апплету Получателя. После получения запроса апплет Получателя постепенно увеличивает встречную переменную и выводит на экран значение переменной.

Апплет отправителя



Апплет получателя


Отметьте:  

Если Вы не видите, что апплет работает, Вы должны установить, по крайней мере, Java Комплект разработчика SE (JDK) 6 обновлений 10 выпусков.



Отметьте:  

Если Вы не видите, что пример работает, Вы, возможно, должны были бы включить интерпретатору JavaScript в своем браузере так, чтобы сценарий Инструментария Развертывания мог функционировать должным образом.


Чтобы включить передаче с другим апплетом, получите ссылку на экземпляр netscape.javascript.JSObject class. Используйте этот экземпляр, чтобы вызвать функции JavaScript. Sender апплет использует экземпляр netscape.javascript.JSObject class, чтобы вызвать вызванную функцию JavaScript sendMsgToIncrementCounter.

try {
    JSObject window = JSObject.getWindow(this);
    window.eval("sendMsgToIncrementCounter()");
} catch (JSException jse) {
    // ...
}

Отметьте: скомпилировать код Java, у которого есть ссылка на классы в netscape.javascript пакет, включать <your JDK path>/jre/lib/plugin.jar в Вашем пути к классу. Во времени выполнения программное обеспечение Плагина Java автоматически делает эти классы доступными для апплетов.

Запишите функцию JavaScript, которая получит запросы от одного апплета и вызовет методы другого апплета на веб-странице. sendMsgToIncrementCounter Функция JavaScript вызывает апплет Получателя incrementCounter метод.

<script>
    function sendMsgToIncrementCounter() {            
        receiver.incrementCounter();
    }
<script>

Отметьте, что код JavaScript использует имя receiver получить ссылку на апплет Получателя на веб-странице. Это имя должно быть тем же самым как значением id атрибут, который определяется, когда Вы развертываете апплет Получателя.

Receiver апплет incrementCounter метод показывают затем.

public void incrementCounter() {
    ctr++;
    String text = " Current Value Of Counter: "
        + (new Integer(ctr)).toString();
    ctrLbl.setText(text);
}

Разверните апплеты на веб-странице как показано в следующем фрагменте кода. Можно просмотреть апплеты Отправителя и Получателя и связали код JavaScript в AppletPage.html.

<!-- Sender Applet -->
<script src="http://www.java.com/js/deployJava.js"></script>
<script> 
    var attributes = { code:'Sender.class',
        archive:'examples/dist/applet_SenderReceiver/applet_SenderReceiver.jar',
        width:300, height:50} ;
    var parameters = {};
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

<!-- Receiver Applet -->
<script> 
    var attributes = { id:'receiver', code:'Receiver.class',
        archive:'examples/dist/applet_SenderReceiver/applet_SenderReceiver.jar',
        width:300, height:50} ;
    var parameters = {};
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

Загрузите исходный код для примера Апплетов Получателя Отправителя, чтобы экспериментировать далее.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Разработка Перемещаемых Апплетов
Следующая страница: Работа С Серверным Приложением