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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章