Веб-страница может содержать несколько апплетов. Если параметр codebase у этих апплетов один и тот же, они могут взаимодействовать друг с другом. Естественно, что взаимодействие апплетов — довольно сложный процесс, необходимость в котором возникает часто.
Если для каждого апплета задать атрибут name, то с помощью метода getApplet(String), объявленного в интерфейсе AppletContext, можно получить ссылку на любой апплет. Предположим, что в HTML-файле содержится дескриптор:
1 |
<applet code="Chart.class" width=100 height=100 name="Chart1"> |
В этом случае в результате вызова приведенного ниже метода будет получена ссылка на апплет:
1 |
Applet chart1 = getAppletContext().getApplet("Chart1"); |
Что можно сделать с этой ссылкой? Если в классе Chart есть метод, предназначенный для получения новых данных и обновления гистограммы, его можно вызвать, выполнив соответствующее приведение типов:
1 |
((Chart)chart1).setData(3, "Earth", 9000); |
Кроме того, можно перечислить все апплеты, размещенные на Веб-странице, независимо от того, имеют они атрибут name или нет. Метод getApplets() возвращает объект Enumeration(он будет подробно рассмотрен в следующих уроках на нашем сайте). Этот объект, в частности, предоставляет доступ ко всем апплетам. Ниже приведен фрагмент кода, выводящий имена апплетов, расположенных на текущий Веб-странице.
1 2 3 4 5 6 |
Enumeration e = getAppletContext().getApplets(); while(e.hasMoreElements()) { Object a = e.nextElements(); System.out.println(a.getClass().getName()); } |
Внимание! Апплет не может взаимодействовать с апплетами, находящимися на другой Веб-странице.
Кстати, желаете купить планшет но не знаете какой? Советуем вам купить планшет cube в интернет магазине smt.ua. Все по самым доступным ценам.