Различия

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

intro:event_desc [15/12/2010 20:30] (текущий)
Строка 1: Строка 1:
 +====== Описание событий в ApplicationXML ======
 +ApplicationXML поддерживает события, в число которых входят, в каждом объекте по своему (см документацию на объекты), события, типа, ''onClick, onAction, onConnected, onDisconnected, onMouseOver'' и т.д. Для каждого события appxml-программист может написать собственный код либо на Java, либо с использованием функций и выражений ApplicationXML. Код пишется либо внутри соответствующего атрибута, либо внутри вложенного тэга с аналогичным именем. Имена событийных атрибутов или тэгов всегда начинаются на префикс "on". 
 +
 +//Пример:// 
 +<code>
 +Вариант а. 
 +
 +<label text="Hello, world!" onClick="println(this.text)" />
 +
 +Вариант б. 
 +
 +<label text="Hello, world!">
 +    <onClick>
 +        println(this.text);
 +    </onClick>
 +</label> 
 +</code>
 +
 +Если код пишется на Java, то он должен быть оформлен во внешнем файле, скомпилирован и подключен в соответствии с синтаксисом и правилами Java. Имя вызываемого метода указывается внутри соответствущего атрибута соответствущего объекта с использованием префикса "java:". Если метод подразумевает получение параметров, то они указываются обычным способом. 
 +
 +:!: **Внимание!** В Java-коде метод всегда принимает, как минимум, один параметр типа Object - ссылку на объект, внутри которого возникло событие. Т.о. если метод имеет прикладные параметры, то в реализации их должно быть всегда больше на один. 
 +
 +//Пример://
 +<code>
 +<!-- ApplicationXML -->
 +<label text="Hello, world!" onClick="java:my_method" />      <!-- Можно без скобок -->
 +<label text="Hello, world!" onClick="java:my_method()" /> <!-- Можно со скобками -->
 +<label text="Hello, world!" onClick="java:my_method(1, 'string', true)" /> <!-- Можно с параметрами: число, строка, буль -->
 +
 +<!-- Java -->
 +// для первого и второго случаев выше
 +public void my_method(Object obj) { ...; return; }
 +
 +// для третьего случая выше
 +public void my_method(Object obj, int p1, String p2, boolean p3) { ...; return; }
 +</code>
 +
 +Если код пишется на ApplicationXML, то он должен записываться внутри соответствующего атрибута или тэга. 
 +
 +//Пример://
 +<code>
 +<label text="Hello, world!">
 +    <onClick>
 +        println(this.text);
 +    </onClick>
 +</label>
 +</code>
  
 
intro/event_desc.txt · Последние изменения: 15/12/2010 20:30 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS