プライマリ・コンテンツに移動
Java Platform, Standard Edition Javaアクセシビリティ・ガイド
リリース9
E91920-01
目次へ移動
目次

前

4 Java Accessibilityユーティリティの概要

Javaアプリケーションへのアクセスを提供するために、ユーザー補助テクノロジには、Java Accessibility APIの他に、Java Accessibility APIを実装するユーザー・インタフェース(UI)オブジェクトの検索、JVMへのユーザー補助テクノロジ・サポートのロード、および追跡イベントも必要です。Java Accessibilityユーティリティは、このサポートを提供します。

Java Accessibilityユーティリティは、パッケージcom.sun.java.accessibility.utilに含まれ、JVMで実行しているJavaアプリケーション内のUIオブジェクトをユーザー補助テクノロジが検出およびクエリーするために必要なサポートを提供します。これらのオブジェクトへのイベント・リスナーのインストールのサポートも提供します。これらのイベント・リスナーにより、UIオブジェクトが他のUIオブジェクトで発生している特定のイベントについて、委任イベント・モデルにより定義されたピアツーピア・アプローチを使用して知ることができます。このパッケージは、次の主要な要素で構成されています。

Javaアプリケーションに関する重要な情報

com.sun.java.accessibility.utilパッケージには、JVMで実行しているJavaアプリケーションに関する重要な情報を取得するためのメソッドが含まれています。このサポートには、Javaアプリケーションのすべてのトップレベル・ウィンドウのリスト、トップレベル・ウィンドウが表示された(および非表示になった)ときに通知されるイベント・リスナー、入力フォーカスを持つウィンドウの検索や、マウス位置の検索、およびシステム・イベント・キューへのイベントの挿入のための方法が提供されます。

ユーザー補助テクノロジの自動ロード

ユーザー補助テクノロジがJavaアプリケーションで機能するには、アクセス先のJavaアプリケーションと同じJVMにロードします。これは、assistive_technologiesプロパティを使用して行います。ユーザー補助テクノロジのロードを参照してください。このサポートは、クラスEventQueueMonitorにあります。

イベントのサポート

Java Accessibilityユーティリティには、Java仮想マシンのイベントをモニターするための3つのクラスが含まれています。最初のクラスAWTEventMonitorは、JVMで実行しているすべてのAWTコンポーネントのすべてのAWTイベントをモニターするための方法を提供します。このクラスは、基本的に、システム全体のAWTイベントをモニターし、各AWTコンポーネント上の各AWTイベント・タイプに対してそのタイプのリスナーをサポートする個別のリスナーを登録します。このように、ユーザー補助テクノロジは「フォーカス・リスナー」をAWTEventMonitorに登録し、これが次に「フォーカス・リスナー」をJVM内のあらゆるJavaアプリケーションのあらゆるAWTコンポーネントに登録できます。これらの個々のリスナーが、リッスンしたイベントを、AWTEventMonitorに最初にリスナーを登録したユーザー補助テクノロジに流し込みます。このように、コンポーネントがフォーカスを取得または失ったとき(たとえばユーザーが[Tab]キーを押したとき)は常に、ユーザー補助テクノロジに通知されます。

2つ目のクラスSwingEventMonitorは、AWTEventMonitorを拡張して、SwingコンポーネントによりサポートされるSwingイベントをモニターするための追加のサポートを提供します。SwingEventMonitorAWTEventMonitorを拡張するため、ユーザー補助テクノロジのSwingEventMonitorを使用している場合は両方のクラスを使用する必要はありません。

3つ目のクラスAccessibilityEventMonitorは、Accessibleオブジェクトのプロパティ変更イベントのサポートを提供します。ユーザー補助テクノロジがAccessibilityEventMonitorを使用してAccessibleプロパティ変更イベントの通知をリエクストすると、AccessibilityEventMonitorは自動的にAccessibleプロパティ変更リスナーをすべてのコンポーネント上に登録します。さらに、コンポーネントがコンポーネント階層に追加および削除されたときを検出し、それに応じてプロパティ変更リスナーを追加および削除します。Accessibleプロパティ変更がいずれかのコンポーネントに発生すると、AccessibilityEventMonitorがユーザー補助テクノロジに通知します。