Pivot WTKX变量绑定

在 Apache Pivot WTKX源文件中的某些组件会使用wtkx:id 对组件进行命名,我们称为“命名对象(named object)”。

在编写Java代码时,我们经常要引用到WTKX中的命名对象,比如为某个控件添加事件监听器,修改组件的属性等。

有两种方式可以在Java代码中引用到WTKX中命名对象。

1.直接通过 WTKXSerializer#get方法,给get方法传递在WTKX文件中的命名名称,就可以获得相应的组件。

 

  Label lab = (Label)wtkxSerializer.get("label“);

2.使用 @wtkx注解配合 WTKX绑定。

  首先要定义一个Java的成员变量,并使用 @wtkx注解,如

  @wtkx private Label label;

 

  在创建WTKXSerializer对象并加载wtkx源文件后调用WTKXSerializer#bind方法。bind方法会根据wtkx文件中的命名对象的名称自动和@wtkx注解的成员变量进行绑定(可能是通过wtkxSerializer.get实现)。

  @wtkx注解的变量也可以是public的成员。变量名称必须和wtkx中的命名对象的名称和类型一致。

  例如下面的例子来自 WTKX Primer#WTKX binding的一个例子

1 <Window xmlns="org.apache.pivot.wtk"
2     xmlns:wtkx="http://pivot.apache.org/wtkx">
3     <content>
4         <Label wtkx:id="label" text="Hello, World!"/>
5     </content>
6 <Window>

 

Java声明代码:

@WTKX private Label label;

 

 

1. 使用get获得命名对象的引用,比较自由,但是每次获取时都需要名声一个局部变量并调用get函数。

2.使用@wtxk绑定时,使用比较方便,但是对于嵌套WTKX文件的命令对象,比如 content.label 可以使用 @WTKX("content.label)

;