VisualAge for Java から Visual Editor へのコードのマイグレーション

このトピックでは、VisualAge for Java からの Java コードのマイグレーションについて説明します。

Visual Editor for Java を使用して Java のコンポーネントを変更する と、ソース・コードが更新されて、変更が反映されます。 このソース・コードの変更は、プロパティー値を変更する set メソッドに反映されます。ただし、Visual Editor for Java によって使用される情報の一部は、 設計時にのみ必要なものであるため、プロパティーには保管されません。この情報には、 フリー・フォーム域上での Java Bean の位置が含まれています。

Java Bean を同じ位置に置いたまま Visual Editor for Java を再オープンできるよう に、この情報を保管するには、Java Bean を宣言する行のコメントにこの情報を配置します。 以下のステートメントは、位置 16 および 17 にある JFrame コンポーネント を示します。

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

コンポーネントの位置を表すコメントは必須ではありません。コメントがない場合、 Visual Editor for Java を開いたときにデフォルト位置が割り当てられます。このデフォルトの配置は、 別の Java Bean 内には含まれないトップレベル Java Bean にのみ適用されるもので、1 つの コンテナー内のコンポーネントの配置には影響しません。1 つのコンテナー内での コンポーネントのロケーションは、コンテナーのレイアウト・マネージャーと、コンポーネントの境界 または制約によって決定されます。

VisualAge for Java では、トップレベル Java Bean (フリー・フォーム部分とも 呼ばれます) の位置がソース・コードに示されません。VisualAge for Java の Visual Composition Editor (VCE) を使用して作成されたファイルを マイグレーションする場合、デフォルト位置が使用されます。 定位置情報を保持したい場合、VisualAge for Java にロードされるマイグレーション・ ユーティリティーを入手できます。 そのマイグレーション・ユーティリティーを使用して、コメント・フォーマットで保管された位置を持つクラス を再生成できます。 ユーティリティーを入手するには、最新の Conversion tool for VisualAge for Java Visual Composition Editor applicationswww.ibm.com/support/us/ からダウンロードしてください。

このマイグレーション・ユーティリティーは、一時フィックスとして 使用可能であり、VisualAge for Java の FixManager (「ワーク スペース」>「ツール」>「FixManager」) を使用して インストールできます。ユーティリティーを使用すると、VisualAge for Java の VCE を使用して開発したクラスを、Visual Editor に適合するフォーマッ トへマイグレーション およびエクスポートすることが可能になります。このパッチをインストールしてから、 プロジェクト、パッケージ、またはクラスのポップアップ・メニューから 「VCE コード生成/エクスポート... (VCE Code Generation/Export...)」を選択します。 この項目を選択するとウィザードが起動され、以前に VCE で保管されたクラスのコードの 再生成が可能になります。フリー・フォームの位置は Visual Editor が使用したコメント ・フォーマットに保管されます。

接続がある場合は、このユーティリティーを実行する前に、「各イベントのインナー・クラスの使用 (Use an inner class for each event)」VCE コード生成オプションを選択して、 最初にこのコードを再生成することが可能です。 ただし、一部クラスは、VisualAge for Java のバグのため、このスタイルに変換することは できません。 このケースでは、「全イベントの インナー・クラスの使用 (Use one inner class for all events)」VCE コード生成オプションを使用してください。 ウィザードでは、コード生成が完了する とクラスをディレクトリーへエクスポートするオプションも提供されます。Visual Editor for Java のイベント・サポートは、「いずれのインナー・クラスも使用 しない (Do not use any inner classes)」VCE コード生成スタイルの構文解析を行いません。


VCE パターン 1


VCE パターン 2

VCE は Java Bean の固有のモデルとそれぞれのプロパティー値および関係を保持するため、 必ず、トップダウン方式でこのモデルからソースを再生成しています。ソースに対して ユーザーが行う変更は、//user code begin {1} および //user code end というコメントで区切られた、ソース内の 定義済みユーザー・コード・ポイントに限定されていました。また、コード生成が行われる たびに Java Bean のメソッドが再生成されることを示すために、 行 /* WARNING: THIS METHOD WILL BE REGENERATED. */ がメソッド ・コメントに追加されました。 マイグレーション・ユーティリティーには、このコードが VCE-generated 以外で使用される場合には 適用できないため、この VCE 生成コメントを (VisualAge for Java のソース・コードではなく) エクスポートされたコードから除去するオプションがあります。ただし、ユーザー・コード・ ポイントのコメントをソースから除去すると、そのユーザー・コードは VisualAge for Java で使用 できなくなります。これは、これらのコメントがあると、ユーザー・コードが上書きされることを防げるから です。

Visual Editor for Java は、Java Bean と、それぞれのプロパティー値および関係に 対して、永続的なオブジェクト・モデルを使用しません。むしろ、毎回ソースを解析 します。この理由により、ユーザー・コード・ポイント用、およびメソッド再生成の指定用 のコメントはもはや適用されず、ソース・コードに対して自由に変更することができます。 この変更によりソース・コード構造が変更され、Visual Editor for Java が Java Bean の 構造を認識できなくなると、「設計」ビューまたは「Java Bean」ビューに Java Bean が表示 されなくなることがあります。ただし、ソースはエディターのスタイルに合うようには変更 されませんが、変更は保存されます。

親トピック: Visual Editor での Java の編集

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