この章では、アプリケーションで状況依存ヘルプを有効にする方法、およびヘルプ・トピックにトピックIDをマップする方法について説明します。
この章の内容は次のとおりです。
状況依存ヘルプ・トピックは、製品のユーザー・インタフェースのコンテキストに関連付けられいてそのコンテキストから起動できるヘルプ・トピックです。たとえば、状況依存ヘルプ・システムには、製品のメニューやダイアログ・ボックスについて説明するトピックを用意します。該当するコントロールのいずれかに関するヘルプをユーザーが要求すると、そのコントロールに関するトピックが表示されます。
Oracle Help for Javaには、ヘルプ・トピックをユーザー・インタフェース・コントロールに関連付けるメカニズム、およびユーザーが[F1]キーを押すか右クリックによるポップアップ・メニューで「ヘルプ」を選択すると起動される状況依存ヘルプのメカニズムが備えられています。また、OHJには、コンポーネントに関連付けられているヘルプ・トピックを明示的に表示するためのAPIも備えられています。
アプリケーションに状況依存ヘルプを備えるには、ヘルプ・システム・ソースに1つ以上のマップ・ファイルを含めて、適切なヘルプ・コードをアプリケーション・コードに追加する必要があります。
状況依存ヘルプ・システムには、トピックIDをヘルプ・トピックにマップするマップ・ファイルが1つ以上含まれていることが必要です。マップ・ファイルは、プログラマではなくヘルプ作成者によって作成されるのが理想的です。OHJでは、次の2種類のマップ・ファイルをサポートしています。
OHJシステムの実装にHelpSetが使用されている場合、マップ・ファイルとして、Oracle Helpシステムの推奨形式でもあるXMLファイル形式を使用することが必要です。マップ・ファイルの詳細は、第5.3項「マップ・ファイル」を参照してください。
マップ・ファイルのトピックIDにマップするJava定数のセットをアプリケーション・コードに定義する場合が考えられます。トピックIDを必要とするOHJメソッド(Help.showTopic()
など)を使用する場合、マップ・ファイルに指定されている明示的なトピックIDを使用するかわりに、定数変数名を使用できます。このようにしておくと、マップ・ファイルのトピックIDが後で変更されたときにコードを何箇所も変更する必要がありません。ヘルプ作成者がマップ・ファイルの管理を担当している場合に特に便利です。
標準のJavaツールキット(AWTおよびSwing)には、ヘルプ・トピックをコンポーネントに関連付ける組込みメカニズムがありません。一方、OHJには、状況依存ヘルプをJavaアプリケーションに実装するための汎用的な方法が用意されており、OHJ CSHManager
クラスを使用します。このヘルプ・マネージャを使用すると、ヘルプ・トピックをユーザー・インタフェース・コンポーネントに関連付けたり、[F1]キーおよび右クリックによる状況依存ヘルプを有効化できます。
OHJのCSHManager
クラスは、ヘルプ・トピックをユーザー・インタフェース・コントロールに関連付けたり、エンド・ユーザーが[F1]キーを押したり右クリックによるポップアップ・メニューから「ヘルプ」を選択したときに状況依存ヘルプを起動するための、汎用的な方法です。また、OHJには、コンポーネントに関連付けられているヘルプ・トピックを明示的に表示するためのAPIも備えられています。
CSHManager
の使用の概要について次の各項で説明します。
ユーザー・インタフェース・コンポーネントを作成する前に、CSHManager
クラスのインスタンスを作成することが必要です。表14-1に、CSHManager
コンストラクタを示します。
ヘルプ・コンテンツのBook
が1つしかない場合は、setDefaultBook()
メソッドを使用してそれを状況依存ヘルプのデフォルトのブックとして定義します。これにより、addComponent()
メソッドを呼び出すときにbook
パラメータが不要になります。
表14-2 setDefaultBook()コンストラクタ
コンストラクタ | 説明 |
---|---|
|
指定した パラメータ:
|
複数のBook
がある場合、特定のBook
が割り当てられなかったコンポーネントについては、デフォルトのBook
のみ使用されます。複数のBook
によるヘルプ・システムでは、一般的に、コンポーネントに特定のBook
を割り当てる必要があります。
マップ・ファイルに定義されているトピックIDをJavaユーザー・インタフェース・コンポーネントに関連付けるには、addComponent()
メソッドを使用します。状況依存ヘルプが必要なコンポーネントごとに、このメソッドのいずれかのバージョンを呼び出します。
表14-3 addComponent()コンストラクタ
コンストラクタ | 説明 |
---|---|
|
コンポーネントをヘルプ・マネージャに登録します。topicIdの検索にはデフォルトの パラメータ:
|
|
ヘルプ・マネージャにコンポーネントを登録します。topicIdの検索には指定したブックが使用されます。 このメソッドを使用して登録されたコンポーネントに対し、 パラメータ:
|
|
パラメータ:
|
|
ヘルプ・マネージャにコンポーネントを登録します。 パラメータ:
|
コンポーネントに関連付けられているヘルプ・トピックを明示的に表示する場合は、CSHManager
に対してshowHelpForComponent()
メソッドを呼び出します。たとえば、ユーザーがダイアログ・ボックスで「ヘルプ」ボタンをクリックしたときに状況依存ヘルプを起動するには、ボタン・イベント・ハンドラでこのメソッドを呼び出します。