カスタム HTML ウィジェット (widget)の作成
ZIETrans は「ウィジェットの作成 (Create Widget)」ウィザードを提供しており、カスタム・ウィジェットの作成を支援します。いくつかの方法でウィザードを開始できます。
- の「ファイル」>「新規」>「ZIETrans ウィジェット」メニューからZIETrans Toolkit
- ZIETrans Toolkit の「ZIETrans」>「新規」>「ウィジェット」メニューから
- ZIETrans プロジェクトのコンテキスト・メニュー (右クリック) から「新規 ZIETrans 」>「ウィジェット」を選択
「ウィジェットの作成」ウィザードには 2 つのパネルがあります。最初のパネルでは、プロジェクト名、新規ウィジェット名、ウィジェットの Java™ パッケージ名を入力します。オプションで、新規ウィジェットによって使用される設定の構成用の GUI パネルを定義できるスタブ・メソッドを組み込むためのチェック・ボックスを選択することができます (詳しくは、ZIETrans Toolkit のカスタム・コンポーネントおよびウィジェットの設定に対するサポートを参照)。2 番目のパネルでは、ZIETrans Toolkit で新規ウィジェット名として表示する名前を入力し、そのウィジェットに関連付けるコンポーネントを選択します。
このウィザードにより、以下のカスタム・ウィジェットの必須エレメントが提供されます。
- ウィジェットの抽象クラスを拡張し、HTMLRenderer インターフェースを実装。public class MyCustomWidget extends Widget implements HTMLRenderer.
詳しくは、ウィジェット・クラスの拡張を参照してください。
- コンストラクター・メソッドを追加。
public MyCustomWidget(ComponentElement[] arg0, Properties arg1) { super(arg0, arg1); }
- 以下のメソッドを追加して、Web プロジェクト用の HTML 出力を生成。
public StringBuffer drawHTML() { StringBuffer buffer = new StringBuffer(256); HTMLElementFactory factory = HTMLElementFactory.newInstance( contextAttributes, settings); return (buffer); }
HTMLElementFactory クラスは、ウィジェットの表示に必要な JavaScript をすべて自動的に生成します。HTMLElementFactory クラスの詳細およびその他の使用例については、「ZIETrans API リファレンス (Javadoc)」を参照してください。『API 資料の使用 (Javadoc)』を参照してください。
- プロジェクトのソース ・フォルダーにウィジェットのソース・コードを追加。
- Eclipse ワークベンチのプリファレンス (「ウィンドウ」>「設定」>「一般」>「ワークスペース」) またはプロジェクト・メニューで、「自動的にビルド」を選択している場合は、新規ウィジェット .java ファイルをコンパイルします。ウィジェットが .class ファイルにコンパイルされていない場合、ZIETrans Toolkit では使用できません。
- ComponentWidget.xml ファイルに新規ウィジェットを登録。ウィジェットの登録の詳細については、コンポーネントまたはウィジェットの登録を参照してください。
チェック・ボックスを選択し ZIETrans Toolkit グラフィカル・ユーザー・インターフェースのサポート・メソッドを組み込んだ場合は、ウィジェットの設定変更が可能になるとともに、「ウィジェットの作成」ウィザードで以下のメソッドが追加されます。
- プロパティー設定でページ番号を戻すメソッド。
public int getPropertyPageCount() { return (1); }
- カスタマイズ可能な設定を戻すメソッド。
public Vector getCustomProperties(int iPageNumber, Properties properties, ResourceBundle bundle) { return (null); }
- カスタマイズ可能な設定のデフォルト値を戻すメソッド。
public Properties getDefaultValues(int iPageNumber) { return (super.getDefaultValues(iPageNumber)); }
カスタム・ウィジェットのサポートに必要なメソッドの詳細については、ZIETrans Toolkit のカスタム・コンポーネントおよびウィジェットの設定に対するサポートを参照してください。