JDeveloperの標準ウィザードは、Baliウィザード・フレームワークを使用して構成されています。実際には、ウィザードの拡張機能にこのフレームワークを使用する必要があります。このフレームワークにより、標準ボタンの動作などの詳細を処理し、ウィザードをJDeveloperのスタイルに準拠させることができます。
JDeveloperで使用されるBaliウィザードのページ・レイアウトでは、左側にイメージがあり(120×200ピクセル)、最下部に1列の標準ボタンがあります。 ユーザーはボタンの一部と値を関連付ける必要がありますが、その処理はBaliウィザードで提供されます。次のボタンがあります。
典型的なウィザードには、ユーザーがデータを入力するページが複数あります。これらのページは、ウィザードを使用するための導入的な役割を果たす「初期画面」ページまたは「サマリー」ページにまとめられています。ユーザーはページを順にアクセスし、「終了」をクリックすることによりウィザードの機能を実行して、ソース・ファイル・スケルトンの作成するなどします。
基本的なBaliウィザードには、次の3つの主要コンポーネントがあります。
拡張クラスを新規ギャラリに表示し、必要時にはインスタンス化するoracle.ide.addin.Wizard
(oracle.bali.ewt.wizard.Wizard
ではありません)が拡張クラスによって実装されます。(メイン・メニューから「ファイル」->「新規」を選択し、「新規」ギャラリを開きます。) ポップアップ・メニューまたはその他のメニューから起動するウィザードは、Addin
も実装する必要があります。 Wizard
クラスには、次の主要メソッドが用意されています。
isAvailable
。コンテキストに応じてウィザードが使用可能かどうかを判断します。たとえば、データベース表を作成するウィザードは、システム・ナビゲータでスキーマが選択されている場合にかぎり、使用可能になります。
getIcon
。ウィザードを起動する、新規ギャラリおよびメニューに表示されるウィザードのアイコンを指定します。
invoke
。ユーザーがクリックなどのアクションを実行するときにウィザードを起動します。 invoke
を使用して、Baliウィザード・クラスのダイアログ・ラッパー(wizardDialog
のインスタンス)を作成し、ダイアログのrunDialog
メソッドをコールします。
ウィザード・クラスはBaseWizard
を拡張します。 ウィザードのページに順にアクセスする場合は、サブクラスのoracle.bali.ewt.wizard.Wizard
を使用するとより簡単です。このクラスの目的は、ウィザードのページの作成とアセンブルです。次の主要メソッドが用意されています。
addPage
。ウィザードにページを追加します。ページは、「次へ」ボタンおよび「戻る」ボタンが適切に動作するよう、最初のページから最後のページまで順序どおりに追加される必要があります。
setSelectedPage
。ウィザードで最初に開くページを設定します。通常、デフォルトでは最初に追加されたページになります。ただし、ユーザーがウィザードの初期画面ページをスキップするよう選択した場合、2番目のページがこのメソッドに渡されます。
setMustFinish
。「終了」ボタンを使用可能にするタイミングを決定します。オプションは2つあります。
addWizardListener
。状態クラスをリスナーとしてアタッチします。 ユーザーが「終了」をクリックすると、wizardEvent
オブジェクトが状態クラスにディスパッチされます。状態クラスは、収集されたデータに対してウィザードの機能を実行します。
ページ・クラスはwizardPage
を拡張します。または、JDeveloperのスタイルに準拠したページの場合はImageWizardPage
サブクラスを拡張します。準拠するページには、左側にイメージ、右側に対話領域、最下部に標準ボタンがあります。
ImageWizardPage
コンストラクタは、次の引数を要求します。
ImageWizardPage
には次の主要メソッドが用意されています。
getContent
。対話領域のグラフィカル・コンポーネントを返します。
addWizardValidateListener
。検証リスナーをページにアタッチします。ユーザーが「次へ」または「終了」をクリックすると、リスナーに通知されます。リスナーにより、これらのイベントが拒否される場合があります。
WelcomeWizardPage
は、ウィザードを使用する際の導入的な役割を果たす最初のページとして使用される、ImageWizardPage
の拡張機能です。初期画面ページは、複数のページから構成される複雑なウィザードに適しています。初期画面ページには、導入的な説明と「次回にこのページを表示」というラベルの付いたチェック・ボックスが表示されます。 初期画面ページを使用する場合、このページをスキップするかどうかを決定するには、Baliウィザード・クラスのコンストラクタでisShowNextTime
メソッドをコールする必要があります。
ページ・バリデータは、wizardValidateListener
を実装します。ユーザーが「次へ」または「終了」をクリックしたときに通知を受信するよう、検証リスナーがページ・クラスに登録されます。
デフォルトでは、「次へ」ボタンおよび「終了」ボタンは使用不可で、ユーザーがデータを入力するときには使用できないようになっています。ユーザーがボタンをクリックするとデータの検証が行われ、無効な場合はボタンのイベントは取り消されます。
検証リスナーは、データをテストするためにwizardValidatePage
を実装する必要があります。 データが無効の場合、メソッドはイベントのcancel
メソッドをコールして、イベントを中止します。 また、リスナーはstaticメソッドJOptionPane
showMessageDialog
をコールして、ユーザーに説明を提供します。
パネル・クラスは、JPanel
またはComponent
の他のサブクラスを拡張します。パネル・クラスは、ウィザードのユーザー・インタフェースを指定します。各ページにはパネルがあります。パネルの制御要素により、ユーザーからデータが収集され、ウィザードの状態クラスに格納されます。
各パネルは、ヘルプ・トピックと関連付けられており、パネルに関するドキュメントを取得するための「ヘルプ」ボタンを使用できます。 パネルおよびヘルプ・トピック識別子を渡して、ヘルプ・システムのregisterTopic
メソッドをコールします。 ヘルプ・システムは、Ide
クラスのstaticメソッドgetHelpSystem
をコールすることで取得されます。ヘルプ・トピックは、ドキュメントのファイル名に関連付けられた文字列です。 ドキュメントJARファイルには、関連をリスト表示する.map
ファイルが含まれます。
状態クラスは、ウィザードのパネルにより収集されるデータのリポジトリです。 このクラスは、ユーザーが「終了」ボタンをクリックしたときにwizardFinished
メソッドがコールされるよう、wizardListener
を実装します。 ウィザードの機能を実行するwizardFinished
メソッドを定義します。
oracle.ide.Ide
oracle.ide.addin.Addin
oracle.ide.addin.Wizard
Copyright © 1997, 2004, Oracle. All rights reserved.