將程式碼從 VisualAge for Java 移轉至視覺化編輯器

本主題將提供有關從 VisualAge for Java 移轉 Java 程式碼的資訊。

當您利用 Java 視覺化編輯器來變更 Java 元件時,程式碼會同時更新,以反映這些變更。 程式碼的變更,是利用變更內容值的 set 方法來反映。可是,Java 視覺化編輯器所使用的部分資訊,並非儲存在內容中,因為它只有在設計時期才用得到。這些資訊包括 Java Bean 在開放式版面上的位置。

如果要儲存這項資訊,讓 Java 視覺化編輯器在重新開啟時,Java Bean 能夠在相同的位置, 則資訊會儲存在宣告 Java Bean 那一行的註解中。下面這個陳述式所顯示的,就是位於 16,17 的 JFrame 元件:

private javax.swing.JFrame ivjJFrame = null; // @jve:visual-info
decl-index=0 visual-constraint="16,17"

代表元件位置的註解並非必要,如果沒有註解存在,則當 Java 視覺化編輯器開啟時,會配置預設位置。 這個預設位置僅適用於未包含於另一個 Java Bean 內的最上層 Java Bean,且不會影響儲存器內元件的位置。儲存器內元件的位置是由儲存器的佈置管理程式和元件的界限或限制項來決定的。

在 VisualAge for Java 中,最上層 Java Bean 的位置(也稱為開放式版面組件)並未出現在程式碼中。 如果您移轉利用 VisualAge for Java 的視覺化複合編輯器 (VCE) 所撰寫的檔案,系統便會使用預設位置。如果您想要保留位置資訊,可以取得載入 VisualAge for Java 的移轉公用程式。 移轉公用程式可讓您利用以註解格式儲存的位置,重新產生類別。如果要取得公用程式,請從 www.ibm.com/support/us/ 下載最新的 VisualAge for Java 視覺化複合編輯器應用程式的轉換工具

這個移轉公用程式是以臨時修正程式的形式來提供的,您可以利用 VisualAge for Java 的 FixManager 來安裝它 (從工作區 > 工具 > FixManager)。 這個公用程式可讓您把利用 VisualAge for Java 的 VCE 所開發的類別, 移轉和匯出為視覺化編輯器適用的格式。 安裝這個修補程式之後,您就可以從專案、套件或類別的蹦現功能表, 選取產生/匯出 VCE 程式碼...。 選取這個項目之後,會啟動一個精靈,讓您為先前以 VCE 儲存的類別,重新產生程式碼。 並將開放式位置儲存成視覺化編輯器所用的註解格式。

如果您有連線,可以在執行這個公用程式之前, 先選取「對每一個事件使用不同的內部類別 VCE 程式碼產生」選項, 重新產生這個程式碼。 但是,有的類別卻因為 VisualAge for Java 中的錯誤,而無法轉換為這個樣式。 在這個案例當中,您應該使用「對所有的事件使用同一個內部類別 VCE 程式碼產生」選項。 待產生程式碼作業完成後,這個精靈也會讓您選擇將類別匯出到目錄中。Java 視覺化編輯器事件支援不會剖析「不要使用任何內部類別 VCE 程式碼產生樣式」。


VCE 型樣 1


VCE 型樣 2

由於 VCE 會維護自己的 Java Bean 模型及其內容值和關係, 因此它一定會以由上而下的方式,從這個模型重新產生程式碼。 使用者對這個程式碼所做的任何修改僅限於程式碼中預先定義的使用者程式碼區,這個區域會由註解 //使用者程式碼開始 {1}//使用者程式碼結束來限定。同時,為了指出每次產生程式碼時, 都會重新產生 Java Bean 的方法, 字行 /* 警告:會重新產生這個方法。*/ 會加入方法註解中。 移轉公用程式有一個選項,可以在這些 VCE 所產生的註解不再適用於 VCE 之外時, 從匯出的程式碼(而非 VisualAge for Java 中的程式碼)中,將這些註解移除。 但是,從程式碼移除使用者程式碼點的註解之後, 便無法在 VisualAge for Java 中使用這個使用者程式碼了。 因為這些註解的存在,是為了要保護程式碼,不讓別人改寫。

Java 視覺化編輯器不會對其 Java Bean 及其內容值與關係,使用持續性的物件模型,而是每次都會剖析程式碼。 因此,使用者程式碼點的註解,以及指定重新產生方法的註解都不再適用,而且您可以隨意修改程式碼。 如果修改作業改變了程式碼的結構,使得 Java 視覺化編輯器不能再辨識 Java Bean 的結構, 則您可能無法在「設計」視圖或 Java Bean 視圖中看到它們。 但程式碼並不會為了配合編輯器的樣式而改變,您所做的變更都會保留下來。

母主題: 在視覺化編輯器中編輯 Java

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.