(57)【要約】【課題】ユーザ入力に基づくカーソル移動処理を効率的に実行可能とした装置および方法を提供する。【解決手段】カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージャとを有し、フォーカスナビゲータは、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する。本構成により、効率的なユーザ入力に基づくカーソル移動先決定が可能となる。【選択図】　図１５
2004102499.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイに表示されるカーソルの制御処理を実行するＧＵＩ表示装置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲータと、
前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージャとを有し、
前記フォーカスナビゲータは、前記カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する構成であることを特徴とするＧＵＩ表示装置。
【請求項２】
前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、
前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムであることを特徴とする請求項１に記載のＧＵＩ表示装置。
【請求項３】
前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、ディスプレイに表示された各コンポーネントの座標情報取得処理を含み、取得座標情報に基づいてカーソル移動先を決定する処理を実行するアルゴリズムであることを特徴とする請求項１に記載のＧＵＩ表示装置。
【請求項４】
前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、
前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムであることを特徴とする請求項１に記載のＧＵＩ表示装置。
【請求項５】
前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、
前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムであることを特徴とする請求項１に記載のＧＵＩ表示装置。
【請求項６】
グラフィカル・ユーザインタフェース（ＧＵＩ）上におけるカーソル移動指示情報を持つＧＵＩアプリケーションの開発支援を行なうＧＵＩアプリケーション開発支援装置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する編集処理部とを有し、
前記編集処理部は、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行する構成であることを特徴とするＧＵＩアプリケーション開発支援装置。
【請求項７】
前記編集処理部は、
上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする請求項６に記載のＧＵＩアプリケーション開発支援装置。
【請求項８】
前記編集処理部は、
ディスプレイに表示された各コンポーネントの座標情報を取得し、取得座標情報に基づいてカーソル移動先を決定する処理アルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする請求項６に記載のＧＵＩアプリケーション開発支援装置。
【請求項９】
前記編集処理部は、
上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする請求項６に記載のＧＵＩアプリケーション開発支援装置。
【請求項１０】
前記編集処理部は、
上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする請求項６に記載のＧＵＩアプリケーション開発支援装置。
【請求項１１】
ディスプレイに表示されるカーソルの制御処理を実行するＧＵＩ表示カーソル移動処理方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示情報に従って、カーソルの移動処理を実行するカーソル移動処理ステツプとを有し、前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ったカーソル移動先決定処理を実行することを特徴とするＧＵＩ表示カーソル移動処理方法。
【請求項１２】
前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、
前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムであることを特徴とする請求項１１に記載のＧＵＩ表示カーソル移動処理方法。
【請求項１３】
前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、ディスプレイに表示された各コンポーネントの座標情報取得処理を含み、取得座標情報に基づいてカーソル移動先を決定する処理を実行するアルゴリズムであることを特徴とする請求項１１に記載のＧＵＩ表示カーソル移動処理方法。
【請求項１４】
前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、
前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムであることを特徴とする請求項１１に記載のＧＵＩ表示カーソル移動処理方法。
【請求項１５】
前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、
前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムであることを特徴とする請求項１１に記載のＧＵＩ表示カーソル移動処理方法。
【請求項１６】
グラフィカル・ユーザインタフェース（ＧＵＩ）上におけるカーソル移動指示情報を持つＧＵＩアプリケーションプログラム生成方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する編集処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行するステップを含むことを特徴とするＧＵＩアプリケーションプログラム生成方法。
【請求項１７】
前記編集処理ステップは、
上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする請求項１６に記載のＧＵＩアプリケーションプログラム生成方法。
【請求項１８】
前記編集処理ステップは、
ディスプレイに表示された各コンポーネントの座標情報を取得し、取得座標情報に基づいてカーソル移動先を決定する処理アルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする請求項１６に記載のＧＵＩアプリケーションプログラム生成方法。
【請求項１９】
前記編集処理ステップは、
上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする請求項１６に記載のＧＵＩアプリケーションプログラム生成方法。
【請求項２０】
前記編集処理ステップは、
上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする請求項１６に記載のＧＵＩアプリケーションプログラム生成方法。
【請求項２１】
ディスプレイに表示されるカーソルの制御処理を実行するＧＵＩ表示処理を実行するコンピュータ・プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示情報に従って、カーソルの移動処理を実行するカーソル移動処理ステツプとを有し、前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ったカーソル移動先決定処理を実行するステップを含むことを特徴とするコンピュータ・プログラム。
【請求項２２】
グラフィカル・ユーザインタフェース（ＧＵＩ）上におけるカーソル移動指示情報を持つＧＵＩアプリケーションプログラム生成処理を実行するコンピュータ・プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する編集処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行するステップを含むことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＧＵＩ表示装置、ＧＵＩアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、グラフィカル・ユーザインタフェース（ＧＵＩ）において表示するカーソルにアニメーション表示を行なうことで視覚効果を高め、カーソル位置あるいはカーソル移動の分かりやすい表示を可能とするＧＵＩ表示装置、ＧＵＩアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
ＰＣ、通信端末、あるいは様々な情報家電等においては、データ表示あるいはデータ入出力用ユーザインタフェースとしてＣＲＴ，ＬＣＤ等のディスプレイが使用されている。このようなディスプレイには、例えば情報家電の利用形態に応じた機能を設定した画面イメージがグラフィカル・ユーザインタフェース（ＧＵＩ）として表示される。ＧＵＩには、例えば入力ボタンの配置、データ入力欄の設定、あるいはボタン押下時の処理等、様々な機能が設定され、また様々な表示画面のイメージ設定が行なわれる。このようなユーザインタフェース画面のデザイン、機能を設定するためのアプリケーションプログラムを開発するためのプログラム言語として、Ｓｕｎ　Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．により配布されているＪａｖａが多く利用されている。
【０００３】
Ｊａｖａ言語で書かれたプログラムは、コンピュータ、プラットフォームに依存しないＪａｖａ実行ファイル形式としてのバイトコード（Ｂｙｔｅ　Ｃｏｄｅ）に変換され、Ｊａｖａ仮想マシン（ＪａｖａＶＭ）により読み取られて機械語変換（インタプリタ）がなされ様々な装置上において実行される。
【０００４】
Ｊａｖａにおいては、アプリケーションソフトウェアを容易に短時間で製作するために、再コンパイルの不要なソフトウェア部品（コンポーネント）をあらかじめ用意しておき、その部品を組み合わせてプログラムを作成する。Ｊａｖａにおいては、これらの部品の再利用化技術（Ｊａｖａ　Ｂｅａｎｓ）が構築されている。
【０００５】
部品は、例えば、ディスプレイに表示するウィンドウ、ボタン、リスト、コンボボックス、テキスト入力フィールド等の様々なコンポーネントを単位として設定され、これら部品（コンポーネント）は、例えばボタン形状、配置情報等の属性情報としての「プロパティ」、部品に対するアクションの結果としての処理としての「メソッド」、さらに、部品に対するアクション、例えばデータ到着、割り込み発生、プロパティ変更、メソッド呼び出し等が発生した際に、別の部品に事象を連絡する機能としての「イベント」が規定される。これら、「プロパティ」、「メソッド」、「イベント」は、Ｊａｖａ　ｂｅａｎｓにおける部品の構成要件とされる。
【０００６】
Ｊａｖａの実行最小プログラム単位は、「クラス（ｃｌａｓｓ）」と呼ばれ、１以上のクラスによってＪａｖａプログラムが生成される。クラスはデータとしての変数（Ｖａｒｉａｂｌｅ）と、動作としてのメソッド（Ｍｅｔｈｏｄ）を持つ。このクラスとして設定されるプログラムコンポーネントを、例えばインターネット、ＬＡＮのようなネットワークを介してＰＣ、情報家電に転送し、格納することが可能であり、クラスファイルを格納した装置側では、プラットフォームに依存しないＪａｖａ仮想マシンが、クラスファイル内に格納されたプログラムを実行することができる。
【０００７】
ＧＵＩの重要な要素としてカーソルまたはポインタがある。カーソルまたはポインタは、例えばユーザ入力機器としてのマウス、キーボード、あるいはリモコン等の十字キー等からの入力情報に基づいて移動し、有効な入力位置情報を示す。以下の説明では、カーソル、ポインタを含む概念の総称としてカーソルを使用する。例えば、マウスを使用してカーソルを移動させる場合は、マウスのトラックボールの動きに従って、任意の方向にカーソルを移動させることが可能であるが、キーボード、十字キー等のキー入力によってカーソルを移動させる場合には、その移動方向は、上下左右の４種類のみ指示に基づいて決定され、必ずしもユーザの意思に沿った移動が実行されるとは限らない。
【０００８】
ＧＵＩを搭載する機器としては、様々な情報家電が想定されるが、これら情報家電は、マウスのような入力手段を持つ構成は少なく、上下左右の４方向に対する移動指示キーを付属させたり、リモコンなどに十字キーを備えた構成とするものが多い。このような単純な入力デバイスに基づくカーソル移動指示を行なう場合には、ユーザの移動指示入力に基づいて、即座に移動先のボタン等にカーソルが設定されることが好ましい。
【０００９】
【発明が解決しようとする課題】
本発明は、上記問題点に鑑みてなされたものであり、グラフィカル・ユーザインタフェース（ＧＵＩ）において移動可能なカーソルについて、ユーザからのカーソル移動指示入力情報に基づいて、即座に移動先のコンポーネント、例えばボタン、リスト、コンボボックス等の移動先を決定し、移動先のコンポーネントにカーソルを設定することを可能とするＧＵＩ表示装置、ＧＵＩアプリケーション開発支援装置、および方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の第１の側面は、
ディスプレイに表示されるカーソルの制御処理を実行するＧＵＩ表示装置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲータと、
前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージャとを有し、
前記フォーカスナビゲータは、前記カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する構成であることを特徴とするＧＵＩ表示装置にある。
【００１１】
さらに、本発明のＧＵＩ表示装置の一実施態様において、前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムであることを特徴とする。
【００１２】
さらに、本発明のＧＵＩ表示装置の一実施態様において、前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、ディスプレイに表示された各コンポーネントの座標情報取得処理を含み、取得座標情報に基づいてカーソル移動先を決定する処理を実行するアルゴリズムであることを特徴とする。
【００１３】
さらに、本発明のＧＵＩ表示装置の一実施態様において、前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムであることを特徴とする。
【００１４】
さらに、本発明のＧＵＩ表示装置の一実施態様において、前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、前記フォーカスナビゲータの実行するカーソル移動先選択アルゴリズムは、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムであることを特徴とする。
【００１５】
さらに、本発明の第２の側面は、
グラフィカル・ユーザインタフェース（ＧＵＩ）上におけるカーソル移動指示情報を持つＧＵＩアプリケーションの開発支援を行なうＧＵＩアプリケーション開発支援装置であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する編集処理部とを有し、
前記編集処理部は、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行する構成であることを特徴とするＧＵＩアプリケーション開発支援装置にある。
【００１６】
さらに、本発明のＧＵＩアプリケーション開発支援装置の一実施態様において、前記編集処理部は、上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする。
【００１７】
さらに、本発明のＧＵＩアプリケーション開発支援装置の一実施態様において、前記編集処理部は、ディスプレイに表示された各コンポーネントの座標情報を取得し、取得座標情報に基づいてカーソル移動先を決定する処理アルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする。
【００１８】
さらに、本発明のＧＵＩアプリケーション開発支援装置の一実施態様において、前記編集処理部は、上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする。
【００１９】
さらに、本発明のＧＵＩアプリケーション開発支援装置の一実施態様において、前記編集処理部は、上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定する構成であることを特徴とする。
【００２０】
さらに、本発明の第３の側面は、
ディスプレイに表示されるカーソルの制御処理を実行するＧＵＩ表示カーソル移動処理方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示情報に従って、カーソルの移動処理を実行するカーソル移動処理ステツプとを有し、前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ったカーソル移動先決定処理を実行することを特徴とするＧＵＩ表示カーソル移動処理方法にある。
【００２１】
さらに、本発明のＧＵＩ表示カーソル移動処理方法の一実施態様において、前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムであることを特徴とする。
【００２２】
さらに、本発明のＧＵＩ表示カーソル移動処理方法の一実施態様において、前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、ディスプレイに表示された各コンポーネントの座標情報取得処理を含み、取得座標情報に基づいてカーソル移動先を決定する処理を実行するアルゴリズムであることを特徴とする。
【００２３】
さらに、本発明のＧＵＩ表示カーソル移動処理方法の一実施態様において、前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、該移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムであることを特徴とする。
【００２４】
さらに、本発明のＧＵＩ表示カーソル移動処理方法の一実施態様において、前記カーソル移動指示入力情報は、上下左右４方向いずれかの移動方向指示情報であり、前記カーソル移動先決定ステップにおいて実行するカーソル移動先選択アルゴリズムは、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムであることを特徴とする。
【００２５】
さらに、本発明の第４の側面は、
グラフィカル・ユーザインタフェース（ＧＵＩ）上におけるカーソル移動指示情報を持つＧＵＩアプリケーションプログラム生成方法であり、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する編集処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行するステップを含むことを特徴とするＧＵＩアプリケーションプログラム生成方法にある。
【００２６】
さらに、本発明のＧＵＩアプリケーションプログラム生成方法の一実施態様において、前記編集処理ステップは、上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定する処理を実行するアルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする。
【００２７】
さらに、本発明のＧＵＩアプリケーションプログラム生成方法の一実施態様において、前記編集処理ステップは、ディスプレイに表示された各コンポーネントの座標情報を取得し、取得座標情報に基づいてカーソル移動先を決定する処理アルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする。
【００２８】
さらに、本発明のＧＵＩアプリケーションプログラム生成方法の一実施態様において、前記編集処理ステップは、上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする。
【００２９】
さらに、本発明のＧＵＩアプリケーションプログラム生成方法の一実施態様において、前記編集処理ステップは、上下左右４方向いずれかの移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムを、前記フォーカスナビゲータに対して設定するステップを含むことを特徴とする。
【００３０】
さらに、本発明の第５の側面は、
ディスプレイに表示されるカーソルの制御処理を実行するＧＵＩ表示処理を実行するコンピュータ・プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するカーソル移動先決定ステップと、
前記カーソル移動先決定ステップにおいて決定したカーソルの移動先指示情報に従って、カーソルの移動処理を実行するカーソル移動処理ステツプとを有し、前記カーソル移動先決定ステップは、前記カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ったカーソル移動先決定処理を実行するステップを含むことを特徴とするコンピュータ・プログラムにある。
【００３１】
さらに、本発明の第６の側面は、
グラフィカル・ユーザインタフェース（ＧＵＩ）上におけるカーソル移動指示情報を持つＧＵＩアプリケーションプログラム生成処理を実行するコンピュータ・プログラムであって、
カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、前記フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する編集処理ステップを有し、
前記編集処理ステップは、
前記フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行するステップを含むことを特徴とするコンピュータ・プログラムにある。
【００３２】
【作用】
本発明のＧＵＩ表示装置は、カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージャとを有し、フォーカスナビゲータは、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する構成としたので、ユーザ入力が例えば十字キー等のように移動方向の粗い設定情報のみの入力であっても、ユーザ入力に基づいて即座に移動先を決定することが可能となり、ユーザがカーソル移動の細かな制御を行なう必要がない。
【００３３】
また、本発明のＧＵＩアプリケーション開発支援装置は、編集処理部において、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムを設定したフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する構成としたので、カーソル移動先選択アルゴリズムの態様を変更、設定することで、例えば、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムや、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムなど、様々な態様でカーソル移動を実行するＧＵＩアプリケーションプログラムを容易に生成することが可能となる。
【００３４】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００３５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００３６】
【発明の実施の形態】
以下、本発明のＧＵＩアプリケーション開発支援装置、ＧＵＩ表示装置、および方法、並びにコンピュータ・プログラムについて、図面を参照しながら詳細に説明する。
【００３７】
［１．ハードウェア構成］
まず、本発明のＧＵＩアプリケーション開発支援装置のハードウェア構成例について、図１を参照して説明する。図１を参照しながら、ＧＵＩアプリケーション開発支援装置１００内の各構成要素について説明する。ＧＵＩアプリケーション開発支援装置１００のメイン・コントローラであるＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０１は、オペレーティング・システム（ＯＳ）の制御下で、各種のＧＵＩアプリケーション開発プログラムを実行する。ＣＰＵ１０１は、例えば、Ｊａｖａ言語に基づくプログラム作成処理の実行、具体的には、ボタン、コンボボックス等、ＧＵＩ画面上に設定する各コンポーネントの機能の設定や、表示イメージの設定処理等を行なう。図示の通り、ＣＰＵ１０１は、バス１０７によって他構成部と相互接続されている。
【００３８】
メモリ１０２は、ＣＰＵ１０１において実行されるプログラム・コードを格納したり、実行中の作業データを一時保管するために使用される記憶装置である。同図に示すメモリ１０２は、ＲＯＭなどの不揮発性メモリ及びＤＲＡＭなどの揮発性メモリの双方を含む。
【００３９】
グラフィックス処理チップ１５０は、各種ＧＵＩコンポーネントに対する配色処理を実行する専用の処理回路が組み込まれたチップである。
【００４０】
表示制御部としてのディスプレイ・コントローラ１０３は、ＣＰＵ１０１が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ・コントローラ１０３において処理された描画データは、例えばフレーム・バッファ（図示しない）に一旦書き込まれた後、ディスプレイ１０８によって画面出力される。例えば、ＨＤＤ（１１１）から再生された画像や、ＣＰＵ１０１により処理された画像は、ディスプレイ１０８で画面表示されて、ユーザはその提示画面を見ることが出来る。
【００４１】
入力機器インターフェース１０４は、キーボード１０９やマウス１１０などのユーザ入力機器をＧＵＩアプリケーション開発支援装置１００に接続するための装置である。ユーザは、キーボード１０９やマウス１１０を介して、画像を処理するためや表示するためのコマンドなどを入力することができる。
【００４２】
ネットワーク・インターフェース１０５は、Ｅｔｈｅｒｎｅｔなどの所定の通信プロトコルに従って、ＧＵＩアプリケーション開発支援装置１００をＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）などの局所的ネットワーク、さらにはインターネットのような広域ネットワークに接続することができる。
【００４３】
ネットワーク上では、複数のホスト端末やサーバー（図示しない）がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信サービスを行うことができる。例えば、動画像、静止画像等が保存されている他のサーバーから画像データを、ネットワーク経由でＨＤＤ（１１１）へダウンロードすることができる。
【００４４】
外部機器インターフェース１０６は、デジタルカメラや、ハード・ディスク・ドライブ（ＨＤＤ）１１１やメディア・ドライブ１１２などの外部装置をＧＵＩアプリケーション開発支援装置１００に接続するための装置である。
【００４５】
ＨＤＤ１１１は、記憶媒体としての磁気ディスクを固定的に搭載した外部記憶装置であり、記憶容量やデータ転送速度などの点で優れており、ランダムアクセスも可能である。例えばソフトウェア・プログラムを実行可能な状態でＨＤＤ１１１上に置くプログラム・インストールが可能である。ＨＤＤ１１１には、ＣＰＵ１０１が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。
【００４６】
メディア・ドライブ１１２は、ＣＤ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ）やＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ　ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）などの可搬型メディア１６０を装填して、そのデータ記録面にアクセスするための装置である。
【００４７】
可搬型メディア１６０は、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式のデータとしてバックアップすることや、これらをシステム間で移動（すなわち販売・流通・配布を含む）する目的で使用される。各種の処理を行うためのアプリケーション・プログラムを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。
【００４８】
なお、図１に示すような装置は、米ＩＢＭ社のパーソナル・コンピュータ”ＰＣ／ＡＴ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ／Ａｄｖａｎｃｅｄ　Ｔｅｃｈｎｏｌｏｇｙ）”の互換機又は後継機として実現可能である。勿論、他のアーキテクチャを備えたコンピュータを適用することも可能である。
【００４９】
［２．機能構成］
次に、グラフィカル・ユーザインタフェース（ＧＵＩ）に設定される各コンポーネントの論理部分と、グラフィックス表現部分とを分離して構成して、ＧＵＩアプリケーションを開発する本発明のＧＵＩアプリケーション開発支援装置の機能構成について図２を参照して説明する。
【００５０】
図２に示すように、本発明のＧＵＩアプリケーション開発支援装置は、ユーザインタフェースとしての画面上に設定するボタン、コンボボックス、リスト、ウィンドウ、テキストボックス等、様々な部品（コンポーネント）について記憶した部品記憶部２００を有する。部品記憶部２００は論理部品記憶部２０１と、グラフィックス表現部品記憶部（シンプル）２０２と、グラフィックス表現部品記憶部（リッチ）２０３を有する。
【００５１】
論理部品記憶部２０１は、ユーザインタフェースとしての画面上に設定するボタン、コンボボックス、リスト、ウィンドウ、テキストボックス等、様々な部品（コンポーネント）についての論理情報を格納した部品である。例えばボタンであれば、ボタンの機能としてのオンされた際の処理やオフされたときの処理等の機能を定義したソフトウェアプログラム部品として構成される。
【００５２】
一方、グラフィックス表現部品記憶部（シンプル）２０２と、グラフィックス表現部品記憶部（リッチ）２０３は、コンポーネントの表示イメージ情報を格納している、すなわちグラフィックス表現プログラムを格納したソフトウェアプログラム部品として構成される。グラフィックス表現部品記憶部（シンプル）２０２と、グラフィックス表現部品記憶部（リッチ）２０３とは、それぞれ異なるグラフィックス表現を実行するプログラムを格納した部品である。
【００５３】
イメージデータ記憶部２０５は、例えばｊｐｅｇ、ｇｉｆ等のイメージデータを格納している。これらのイメージデータを、各コンポーネントのグラフィックス表現部品に対応付けることで、コンポーネントの様々な動作に応じたイメージデータに基づくアニメーション表示が可能となる。これらのアニメーション設定処理については後述する。
【００５４】
ＧＵＩアプリケーションプログラムの開発者としてのオペレータは、データ入出力部２２０を介して編集処理部２１０に対して、各種のデータ入力を実行し、ボタン、コンボボックス等の各コンポーネントの機能、グラフィックイメージを設定してＧＵＩコンポーネントを構築する。
【００５５】
コンポーネントを作成処理実行プログラムは、例えばＪａｖａプログラムの１つのクラス（ファクトリークラス）である。編集処理部２１０はファクトリークラスを実行して各種のコンポーネントを作成する。なお、編集処理部２１０における処理は、図１のハードウェア構成図においては、ＣＰＵ１０１の制御の下に実行される処理である。
【００５６】
部品（コンポーネント）は、例えばボタン形状、配置情報等の属性情報としての「プロパティ」、部品に対するアクションの結果としての処理としての「メソッド」、さらに、部品に対するアクション、例えばデータ到着、割り込み発生、プロパティ変更、メソッド呼び出し等が発生した際に、別の部品に事象を連絡する機能としての「イベント」が規定されたＧＵＩコンポーネントとして編集処理部２１０において編集される。
【００５７】
編集処理部２１０は、部品（コンポーネント）に設定されるプロパティを編集するプロパティ編集部２１１、メソッドを編集するメソッド編集部２１２、イベントを編集するイベント編集部２１３を有する。
【００５８】
オペレータは、生成するＧＵＩコンポーネントの見た目、すなわちグラフィックス表現を設定する際に、ファクトリークラスを実行する編集処理部２１０に対して、Ｌｏｏｋ＆Ｆｅｅｌパッケージ指定データを入力する。すなわち、「リッチ」あるいは「シンプル」のいずれかを指定する。
【００５９】
この指定データに従って、編集処理部２１０においてファクトリークラスが実行され、指定データに応じて、グラフィックス表現部品記憶部（シンプル）２０２、あるいは、グラフィックス表現部品記憶部（リッチ）２０３から、いずれかの対応プログラム部品を読み出すとともに、論理部品記憶部２０１の読み出し部品とともにコンポーネントを作成する。
【００６０】
例えばボタンについてのＧＵＩコンポーネントを生成する際には、部品（コンポーネント）についての論理情報を格納した部品を記憶した論理部品記憶部２０１からボタン部品を読み出し、さらに、オペレータからのＬｏｏｋ＆Ｆｅｅｌパッケージ指定データ、すなわち、「リッチ」あるいは「シンプル」のいずれかの指定データに応じて、グラフィックス表現部品記憶部（シンプル）２０２、あるいは、グラフィックス表現部品記憶部（リッチ）２０３から、ボタンのグラフィックス表現プログラム格納部品を読み出して、論理部品と、「リッチ」あるいは「シンプル」のいずれかのグラフィックス表現部品とを組み合わせて、１つのボタンコンポーネントを生成する。
【００６１】
ボタン以外にも、コンボボックス、リスト、ウィンドウ、テキストボックス等、様々な部品（コンポーネント）について、同様の編集処理が実行され、編集処理の後、設定されたＧＵＩアプリケーションプログラムがプログラム記憶部２２１に格納され、プログラム実行部２２２において実行され、生成されたＧＵＩが表示部２２３に表示される。
【００６２】
なお、上述の実施例ではグラフィックス表現プログラムを格納した部品を「シンプル」、「リッチ」の２種類のみを設定した例を説明したが、これらの種類は３以上の任意の数として設定することも可能であり、オペレータは、設定されたグラフィックス表現部品のいずれかの指定データを入力し、指定データに従ってグラフィックス表現部品が選択されて、各種のＧＵＩコンポーネントが作成される。
【００６３】
［３．処理シーケンス］
次に、本発明のＧＵＩアプリケーション開発支援装置を適用して、ＧＵＩコンポーネントを生成する処理の手順について、図３および図４を参照して説明する。
【００６４】
図３は、グラフィックス表現部品の「シンプル」を選択して、ＧＵＩコンポーネントを生成する処理シーケンスを示した図である。図３において、左から、オペレータ、ＧＵＩ生成アプリケーション、コンポーネントファクトリ、グラフィックス表現部分、論理部分の各処理を示している。なお、グラフィックス表現部分、論理部分の処理とは、図２に示すグラフィックス表現部品記憶部（シンプル）２０２、論理部品記憶部２０１の読み出し部品に格納されたプログラムの実行に相当し、これらの処理、およびコンポーネントファクトリの処理は、図２の編集処理部２１０において実行される。
【００６５】
まず、ステップＳ１０１において、オペレータは、ＧＵＩコンポーネントの生成コマンド（Ｃｒｅａｔｅ）をＧＵＩ生成アプリケーションに対して入力する。このＧＵＩコンポーネントの生成コマンド（Ｃｒｅａｔｅ）には、コンポーネントの種類、例えば「ボタン」、「リスト」、「コンボボックス」、「ラジオボタン」、「ウィンドウ」などのコンポーネント種類を指定したデータとともに入力される。
【００６６】
さらに、ステップＳ１０２において、オペレータからグラフィックス表現を指定するための「Ｌｏｏｋ＆Ｆｅｅｌ」指定がアプリケーションを介してコンポーネントファクトリに対して出力される。ここでは、「Ｌｏｏｋ＆Ｆｅｅｌ」指定として「シンプル」を指定したものとする。
【００６７】
次にステップＳ１０３において、アプリケーションからコンポーネントファクトリに対してコンポーネント生成コマンドが出力される。このコマンドには、先のステップＳ１０１において指定されたコンポーネント種類を示す識別データが含まれる。
【００６８】
ステップＳ１０４では、コンポーネントファクトリからグラフィックス表現部分（シンプル）および論理部分に対してコンポーネント生成命令（Ｃｒｅａｔｅ）が出力され、論理部分、グラフィックス表現部分の格納プログラムに従って、コンポーネント生成が実行される。
【００６９】
ステップＳ１０５以下の処理は、アプリケーションからコンポーネントの処理、例えばコンポーネントとしての「ウィンドウ」のオープン処理命令を行なった場合の処理シーケンスを示す。アプリケーションからの、コンポーネントのオープン処理命令は、論理部分に渡され、論理部分のプログラムの実行に基づいて、ペイント（Ｐａｉｎｔ）命令がグラフィックス表現部分（シンプル）に渡される。グラフィックス表現部分（シンプル）は、論理部分からの入力命令に従って、コンポーネントのペイント処理を実行する。
【００７０】
ここでは、コンポーネント生成に適用されているグラフィックス表現部分が「シンプル」であるため、ディスプレイに表示される生成コンポーネント、すなわちボタン等は、Ｐａｉｎｔによるカラー設定のなされたのみのシンプル構成となる。
【００７１】
次に、グラフィックス表現部品の「リッチ」を選択して、ＧＵＩコンポーネントを生成する処理シーケンスについて図４を参照して説明する。図３と同様、左から、オペレータ、ＧＵＩ生成アプリケーション、コンポーネントファクトリ、グラフィックス表現部分、論理部分の各処理を示している。図３と同様、グラフィックス表現部分、論理部分の処理とは、図２に示すグラフィックス表現部品記憶部（シンプル）２０２、論理部品記憶部２０１の読み出し部品に格納されたプログラムの実行に相当し、これらの処理、およびコンポーネントファクトリの処理は、図２の編集処理部２１０において実行される。
【００７２】
まず、ステップＳ２０１において、オペレータは、ＧＵＩコンポーネントの生成コマンド（Ｃｒｅａｔｅ）をＧＵＩ生成アプリケーションに対して入力する。このＧＵＩコンポーネントの生成コマンド（Ｃｒｅａｔｅ）には、コンポーネントの種類、例えば「ボタン」、「リスト」、「コンボボックス」、「ラジオボタン」、「ウィンドウ」などのコンポーネント種類を指定したデータとともに入力される。
【００７３】
さらに、ステップＳ２０２において、オペレータからグラフィックス表現を指定するための「Ｌｏｏｋ＆Ｆｅｅｌ」指定がアプリケーションを介してコンポーネントファクトリに対して出力される。ここでは、「Ｌｏｏｋ＆Ｆｅｅｌ」指定として「リッチ」を指定したものとする。
【００７４】
次にステップＳ２０３において、アプリケーションからコンポーネントファクトリに対してコンポーネント生成コマンドが出力される。このコマンドには、先のステップＳ２０１において指定されたコンポーネント種類を示す識別データが含まれる。
【００７５】
ステップＳ２０４では、コンポーネントファクトリからグラフィックス表現部分（シンプル）および論理部分に対してコンポーネント生成命令（Ｃｒｅａｔｅ）が出力され、論理部分、グラフィックス表現部分（リッチ）の格納プログラムに従って、コンポーネント生成が実行される。
【００７６】
ステップＳ２０５以下の処理は、アプリケーションからコンポーネントの処理、例えばコンポーネントとしての「ウィンドウ」のオープン処理命令を行なった場合の処理シーケンスを示す。アプリケーションからの、コンポーネントのオープン処理命令は、グラフィックス表現部分に渡され、グラフィックス表現部分に格納されたアニメーションプログラムの実行に基づいて、アニメーションが実行（Ｓ２０６）される。
【００７７】
さらに、ステップＳ２０７において、オープン処理命令が論理部分に渡され、論理部分のプログラムの実行に基づいて、ペイント（Ｐａｉｎｔ）命令がグラフィックス表現部分（シンプル）に渡されて、グラフィックス表現部分（リッチ）は、論理部分からの入力命令に従って、コンポーネントのペイント処理を実行する。
【００７８】
この図４に示すシーケンス図では、コンポーネント生成に適用されているグラフィックス表現部分が「リッチ」であるため、ディスプレイに表示される生成コンポーネント、すなわちボタン等は、Ｐａｉｎｔによるカラー設定がなされるのみならず、アニメーション表現が実行される構成となる。
【００７９】
［４．ファイル構成例］
上述したような、コンポーネント表示を実行するためのファイル構成例について説明する。
【００８０】
例えばＧＵＩコンポーネントの例として、ボタン機能を持つアイコンとして、ボタコン［Ｂｕｔｔｃｏｎ］コンポーネントをＧＵＩコンポーネントとして構成する場合のファイルとしては、例えば次の各ファイルが必要となる。
【００８１】
ＣＢｕｔｔｃｏｎ．ｊａｖａ：ボタコンの論理部分を実装するクラス、
Ｂｕｔｔｃｏｎ．ｊａｖａ：ボタコンのグラフィックス表現部としてのＬｏｏｋ＆Ｆｅｅｌ部分を実装するクラス、
ｂｕｔｔｃｏｎ＿ｎｏｒｍａｌ＿ｏｆｆ．ｇｉｆ：ボタコンが「オフ」のときの画像、
ｂｕｔｔｃｏｎ＿ｎｏｒｍａｌ＿ｏｎ．ｇｉｆ：ボタコンが「オン」のときの画像、
ｂｕｔｔｃｏｎ＿ｐｕｓｈｅｄ．ｇｉｆ：ボタコンが押されているときの画像、
ＣＣｏｍｐｏｎｅｎｔＦａｃｔｏｒｙ．ｊａｖａ：アプリケーションがボタコンを作成するために使用するファクトリークラス、
Ａｐｐｌｉｃａｔｉｏｎ．ｊａｖａ：作成したボタコンを表示するためのアプリケーション。
なお、クラスは、Ｊａｖａの実行単位プログラムを示す。
【００８２】
上記各ファイルのディレクトリ構成を図５に示す。あるＧＵＩアプリケーションファイル［ａｐｐｌｉｃａｔｉｏｎ］の下位にツールキットとしての［ｃｕｓｔｏｍｔｏｏｌｋｉｔ］ファイルがあり、当ファイルにＣＢｕｔｔｃｏｎ．ｊａｖａ：ボタコンの論理部分を実装するクラスと、ＣＣｏｍｐｏｎｅｎｔＦａｃｔｏｒｙ．ｊａｖａ：アプリケーションがボタコンを作成するために使用するファクトリークラスが含まれ、さらに、グラフィックス表現情報としてのＬｏｏｋ＆Ｆｅｅｅｌファイル［ｌａｆ］ファイルが含まれる。
【００８３】
Ｌｏｏｋ＆Ｆｅｅｅｌファイル［ｌａｆ］には、Ｂｕｔｔｃｏｎ．ｊａｖａ：ボタコンのグラフィックス表現部としてのＬｏｏｋ＆Ｆｅｅｌ部分を実装するクラス、すなわち、上述したグラフィックス表現部品に対応するクラスが含まれ、さらに、イメージデータファイル［ｉｍａｇｅ］として、ｂｕｔｔｃｏｎ＿ｎｏｒｍａｌ＿ｏｆｆ．ｇｉｆ：ボタコンが「オフ」のときの画像、ｂｕｔｔｃｏｎ＿ｎｏｒｍａｌ＿ｏｎ．ｇｉｆ：ボタコンが「オン」のときの画像、ｂｕｔｔｃｏｎ＿ｐｕｓｈｅｄ．ｇｉｆ：ボタコンが押されているときの画像、の各々が含まれる。
【００８４】
ＧＵＩアプリケーションプログラムは、ユーザの入力情報に従って、これらの各ファイルに含まれる処理プログラムおよびイメージデータを適用した処理を実行する。具体的には、論理部品クラスのプログラムに従った各種の機能実行処理と、グラフィックス表現部品クラスのプログラムに従った各種のグラフィックス表現処理の両者が実行される。
【００８５】
［５．表示例］
次に、図６、および図７を参照して、各コンポーネントの論理部分と、グラフィックス表現部分とを分離した構成に基づいて生成したＧＵＩコンポーネントの表示処理例について説明する。
【００８６】
図６は、グラフィックス表現部分（シンプル）を適用して各コンポーネントを生成して表示した例を示す。ＧＵＩコンポーネントとしてボタン３１１、コンボボックス３１２を例にして説明する。
【００８７】
ボタン３１１の操作、例えばボタンのオン、オフ、あるいはフォーカス設定、すなわちカーソル設定を行なうと、ボタンコンポーネントの論理部分の処理により、ボタンのオン、オフ動作に基づく処理が実行される。さらに、論理部分からの例えばペイント命令により、グラフィックス表現部分（シンプル）が実行されて、ペイント処理、すなわち、ボタンの表示カラーを変更する処理が行なわれる。
【００８８】
コンボボックス３１２の操作、例えばコンボボックス３１２のオープン、クローズ等を行なうと、コンボボックスコンポーネントの論理部分の処理により、コンボボックスのオープン、クローズ動作に基づく処理が実行される。さらに、論理部分からの例えばペイント命令により、コンボボックスコンポーネントのグラフィックス表現部分（シンプル）が実行されて、ペイント処理、すなわち、コンボボックスの表示カラーを変更する等の処理が行なわれる。
【００８９】
なお、オペレータからの処理によってどのようなグラフィックス表現を実行するかは、各ＧＵＩコンポーネントに応じて異なる設定とすることが可能である。すなわち、グラフィックス表現部分（シンプル）の処理プログラムを変更することによって、各コンポーネントに対応したグラフィックス表現処理が可能となる。
【００９０】
図７は、グラフィックス表現部分（リッチ）を適用して各コンポーネントを生成して表示した例を示す。ＧＵＩコンポーネントとしてボタン３２０、コンボボックス３３０を例にして説明する。
【００９１】
ボタン３２０の操作、例えばボタンのオン、オフ、あるいはフォーカス設定、すなわちカーソル設定を行なうと、前述のペイント処理に加えて、ボタンコンポーネントのグラフィックス表現部分（リッチ）の処理として、アニメーション３２１，３２２の実行がなされる。図では分かり難いが、（ｂ）、（ｃ）においてボタンの周囲に波紋が広がるようなアニメーションが実行される。なお、論理部分の処理により、ボタンのオン、オフ動作に基づく処理が実行される。
【００９２】
さらに、コンボボックス３３０の操作、例えばコンボボックス３３０のオープン、クローズ等を行なうと、コンボボックスコンポーネントの論理部分の処理により、コンボボックスのオープン、クローズ動作に基づく処理が実行されるとともに、コンボボックスコンポーネントのグラフィックス表現部分（リッチ）の処理として、アニメーション３３１，３３２の実行がなされる。図では分かり難いが、（ｂ）、（ｃ）においてコンボボックスの下部に下側に広がるように設定されたアニメーションが実行される。
【００９３】
［６．アニメーション設定および実行処理］
次に、ウィンドウ、ボタン、コンボボックス、リスト等の各種のＧＵＩコンポーネントにアニメーションを設定し、実行する処理について説明する。
【００９４】
図８は、コンポーネントに対してアニメーションを実行させるためのイメージデータを設定するための処理画面を示した図である。コンポーネント指定欄３５１にコンポーネント［ボタン（Ｂｕｔｔｏｎ）］が設定され、下部にイメージデータ設定欄３５２が構成され、コンポーネントの状態、すなわち、通常時（Ｎｏｒｍａｌ）、オン（Ｏｎ）、オフ（Ｏｆｆ）、フォーカス（Ｆｏｃｕｓ）設定時等の各コンポーネント状態における呼び出しイメージ（Ｊｐｅｇ）が、個別に設定可能な構成を持つ。なお、フォーカス（Ｆｏｃｕｓ）設定時とは、そのコンポーネントにカーソルが設定され、オン、オフ等の動作可能な状態にある状態を示す。
【００９５】
例えば、オン（Ｏｎ）の処理が実行される際には、グラフィックス表現部品に規定されたプログラムに従ってアニメーションインデックス・メソッドが呼ばれて実行される。アニメーションインデックス・メソッドの実行により、イメージファイル［Ｉｍａｇｅ］からＪｐｅｇイメージ１１〜２１が読込まれて、これらの複数イメージに基づいてＧＵＩ表示されたボタンのイメージがアニメーション表示される。オフ（Ｏｆｆ）の処理が実行される際には、イメージファイル［Ｉｍａｇｅ］からＪｐｅｇイメージ３１〜３８が読込まれて、これらの複数イメージに基づいてＧＵＩ表示されたボタンのイメージがアニメーション表示される。
【００９６】
なお、図８に示す例では、コンポーネント状態として通常時（Ｎｏｒｍａｌ）、オン（Ｏｎ）、オフ（Ｏｆｆ）、フォーカス（Ｆｏｃｕｓ）の４状態を持つ例を示してあるが、状態定義は、これに限らず、例えば以下に示すような定義とし、それぞれの状態に応じてイメージデータを設定する構成としてもよい。
ＮＯＲＭＡＬ：通常状態
ＮＯＲＭＡＬ　ＤＥＡＣＴＩＶＡＴＥＤ：アクティブでない通常状態
ＦＯＣＵＳＥＤ：フォーカス状態
ＦＯＣＵＳＥＤ　ＤＥＡＣＴＩＶＡＴＥＤ：アクティブでない通常状態
ＰＵＳＨＥＤ：プッシュ状態
ＰＵＳＨＥＤ　ＤＥＡＣＴＩＶＡＴＥＤ：アクティブでないプッシュ状態
ＤＩＳＡＢＬＥＤ：操作できない状態
ＤＩＳＡＢＬＥＤ　ＤＥＡＣＴＩＶＡＴＥＤ：アクティブでない操作できない状態。
上記８つの状態に応じて、それぞれ異なるアニメーション構成イメージデータを対応付けて設定することで、ユーザはアニメーションに応じてコンポーネントの状態を把握することが可能となる。なお、アクティブでない状態とは、操作対象にないウィンドウに表示されている状態にある場合などを示す。
【００９７】
このように、コンポーネント毎に、処理に対応して、個別のイメージファイルの設定が可能であり、様々な処理に応じた最適なアニメーション表現を自在に設定することが可能となる。図には、ボタンに対するアニメーションを設定する例を示しているが、その他のコンポーネントについても同様に、各種の処理に対応したアニメーション設定が可能である。
【００９８】
例えばコンボボックスにおけるオープン時のアニメーション、クローズ時のアニメーション等がイメージファイルからイメージをそれぞれ個別に選択設定することで、それぞれのアニメーションが設定される。
【００９９】
上述した各コンポーネントの状態に対応するイメージデータの設定によるアニメーション表示設定処理を実行するためのＧＵＩアプリケーション開発支援装置は、先に、図１、図２を参照して説明した構成により実現されるが、さらに、各コンポーネント状態に応じたイメージファイルの設定処理を実行するための機能に限定した処理構成を図９に示すブロック図を参照して説明する。
【０１００】
図９に示すように、ＧＵＩアプリケーション開発支援装置は、ユーザインタフェースとしての画面上に設定するボタン、コンボボックス、リスト、ウィンドウ、テキストボックス等、様々なコンポーネントについて記憶した部品記憶部４００を有し、部品記憶部４００は、コンポーネントの処理機能を定義したソフトウェアプログラム部品としての論理部品記憶部４０１と、コンポーネントのグラフィックス表現を定義したソフトウェアプログラム部品としてのグラフィックス表現部品記憶部４０２を持つ。なお、グラフィックス表現部品は、前述したようにシンプル、リッチ等、複数種類のグラフィックス表現を実行する複数の異なる部品として構成可能である。
【０１０１】
イメージデータ記憶部４０３は、グラフィックス表現部品記憶部４０２に記憶されたグラフィックス表現部品に格納されたプログラムとしてのグラフィックス表現クラスの実行により呼び出されるアニメーションインデックス・メソッドに従って読み出されるイメージデータを格納している。イメージデータは、例えばｊｐｅｇ、ｇｉｆ等のデータファイルであり、グラフィックス表現部品記憶部４０２に記憶されたグラフィックス表現部品各々に対応する。
【０１０２】
ＧＵＩアプリケーションプログラムの開発者としてのオペレータは、データ入出力部４２０を介して編集処理部４１０に対して、各種のデータ入力を実行し、ボタン、コンボボックス等の各コンポーネントの機能、グラフィックイメージを設定してＧＵＩコンポーネントを構築する。
【０１０３】
コンポーネント作成処理実行プログラムは、例えばＪａｖａプログラムの１つのクラス（ファクトリークラス）である。編集処理部４１０はファクトリークラスを実行して各種のコンポーネントを作成する。なお、編集処理部４１０における処理は、図１のハードウェア構成図においては、ＣＰＵ１０１の制御の下に実行される処理である。
【０１０４】
アニメーションの設定処理においては、図８を参照して説明したように、編集処理部４１０において、コンポーネントの状態に応じて読み出すイメージデータの対応付け処理を実行する。この処理は、コンポーネントの「プロパティ」、「メソッド」、「イベント」の編集処理の一部として実行される。
【０１０５】
オペレータは、生成するＧＵＩコンポーネントの見た目、すなわちグラフィックス表現を設定する際に、ファクトリークラスを実行する編集処理部４１０に対して、Ｌｏｏｋ＆Ｆｅｅｌパッケージ指定データを入力する。すなわち、「リッチ」あるいは「シンプル」のいずれかを指定し、さらに、図８を参照して説明したように、コンポーネントの状態に応じて読み出すイメージデータを設定する。
【０１０６】
これらの設定情報に従って、各種のコンポーネントを有するＧＵＩアプリケーションプログラムが生成され、生成されたＧＵＩアプリケーションプログラムがプログラム記憶部４２１に格納され、プログラム実行部４２２において実行され、生成されたＧＵＩが表示部４２３に表示される。
【０１０７】
アニメーション実行時の処理、すなわちＧＵＩ表示装置における処理について、図１０を参照して説明する。ディスプレイ５１３に表示されたＧＵＩコンポーネントとしてのボタンのアニメーション５１４の表示処理について説明する。
【０１０８】
アニメーション表示処理は、例えばコンポーネントがボタンコンポーネントであれば、ボタンコンポーネントに含まれるグラフィックス表現部品のグラフィックス表現クラス５１１が実行する。グラフィックス表現クラス５１１に規定されたプログラムに従ってアニメーションインデックス・メソッドが呼ばれ、イメージファイル［Ｉｍａｇｅ］５１２から、先に図８を参照して説明した設定処理において設定されたＪｐｅｇイメージ１１〜２１が読込まれて、これらの複数イメージに基づいてＧＵＩ表示されたボタンのイメージがアニメーション５１４として表示される。
【０１０９】
ここでは、ボタン回りに波紋が広がるアニメーションが表示される例を示している。なお、イメージファイル［Ｉｍａｇｅ］５１２は、図１のハードウェア構成のメモリ１０２、ＨＤＤ１１１、その他の記憶手段の一部領域を確保してイメージファイル記憶部として設定し、格納することが可能である。
【０１１０】
上述した処理をディスプレイに表示するＧＵＩコンポーネントのアニメーション表示処理方法シーケンスとしてまとめると、
（１）コンポーネントに対応付けられたグラフィックス表現部品のグラフィックス表現クラスを実行するクラス実行ステップと、
（２）クラス実行ステップにおいて呼び出されるアニメーションインデックス・メソッドに従って、イメージファイルから、予め設定したイメージデータを読み出すイメージ読み出しステップと、
（３）イメージ読み出しステップにおいて読み出したイメージデータをディスプレイに表示するステップと、
による実行ステップとしてまとめられる。これらの処理ステップは、ＧＵＩアプリケーションの実行プログラムとして記録され、ユーザによるＧＵＩ操作に従って実行、すなわち、アニメーション表示がなされることになる。
【０１１１】
なお、ボタン等のコンポーネントのアニメーションは、呼び出しイメージデータを変更することで、様々なアニメーションが容易に設定できる。例えば、オン、オフ等の動作として、タンが凹凸形状に歪みを発生させたり、色を変化させたりなど、様々なアニメーション設定が可能である。また、オン、オフ等の動作時のみではなく、カーソルが設定されたフォーカス状態にあるとき、継続してアニメーションを実行させる構成とすることも可能である。これは、カーソル位置がボタンコンポーネント位置に重なったことを条件として、アニメーションインデックス・メソッドを呼び込み、フォーカスイメージファイルをイメージデータから読込んで実行させることで実現される。
【０１１２】
なお、図２を参照して説明したように、グラフィックス表現部品記憶部は、シンプル、あるいはリッチ等、同じコンポーネント、例えばボタンでも、異なるグラフィックス表現処理実行プログラムを格納した複数のグラフィックス表現部品が用意されている。図２の例では、シンプルと、リッチの２つの種類のみを示してあるが、さらにリッチ１、リッチ２、…等、複数のグラフィックス表現部品の設定が可能である。
【０１１３】
これら各グラフィックス表現部品には、それぞれ異なる個別の読み出しイメージファイルの対応付けを行なうことが可能であり、同じ機能を持つボタンであっても、最初のＬｏｏｋ＆Ｆｅｅｌパッケージ指定により適用するグラフィックス表現部品が決定され、その部品に対応付けて設定されたアニメーションが表示されることになる。従って、Ｌｏｏｋ＆Ｆｅｅｌパッケージ指定に応じて様々な異なるアニメーション表示を行なうことが可能となる。
【０１１４】
［７．カーソルのアニメーション表現］
上述したように、ボタン、コンボボックス等のコンポーネントは、それぞれ論理部分と、グラフィックス表現部分を個別のソフトウェアプログラムとして有し、さらにグラフィックス表現プログラムは、シンプル、リッチ等、複数の種類のファイルから選択可能な構成を有する。
【０１１５】
次に、マウス、キーボード、あるいは上下左右の指示キーからなる十字キー等の入力手段からの入力に従って移動可能なカーソルのグラフィックス表現処理について説明する。なお、本明細書において、カーソルは、ウィンドウ上での指示位置を示す識別表示の総称として用い、例えばポインタ、カーソル等の概念を併せたものとして説明する。なお、カーソルが、ボタン、リスト、コンボボックス等、様々なコンポーネント位置にあるとき、そのコンポーネントがフォーカスされている状態にあると呼ぶ。
【０１１６】
コンポーネントのグラフィックス表現については、前述したように、コンポーネントの状態、具体的には、例えばコンポーネントがボタンである場合、ボタンコンポーネントがプッシュ状態にある、あるいはフォーカス状態にあるなど、各種の状態に応じて個別に設定されたイメージファイルが読み出され、読み出されたイメージファイルに従って、アニメーション表示が実行される。
【０１１７】
カーソルは、カーソルが特定のコンポーネントに位置している、すなわちコンポーネントがフォーカスされているときばかりでなく、コンポーネント間の移動時、例えば１つのボタンコンポーネントから、他のボタンコンポーネントにカーソルを移動する際にもアニメーション表現を実行する。
【０１１８】
これらの各種のアニメーションを、カーソルまたはカーソル設定位置のコンポーネント状態に応じて設定するための処理は、前述のコンポーネントの状態に応じてそれぞれイメージファイルを設定する処理とほぼ同様の処理によって実行可能であり、この設定処理を実行するＧＵＩアプリケーション開発支援装置は、先に、図１、図２を参照して説明した構成により実現されるが、カーソルに応じたイメージファイルの設定処理を実行するための機能に限定した処理構成を図１１に示すブロック図を参照して説明する。
【０１１９】
図１１に示すように、ＧＵＩアプリケーション開発支援装置は、ユーザインタフェースとしての画面上に設定するボタン、コンボボックス、リスト、ウィンドウ、テキストボックス等、様々なコンポーネントについて記憶した部品記憶部５６０を有し、部品記憶部５６０には、論理部品記憶部５６１と、グラフィックス表現部品記憶部５６２を持つ。グラフィックス表現部品記憶部５６２は、カーソルまたはカーソル設定コンポーネントにおけるグラフィックス表現に関するプログラムを格納したカーソル対応グラフィックス表現プログラムファイルが含まれる。
【０１２０】
イメージデータ記憶部５６３は、グラフィックス表現プログラムの実行に従って読み出し可能なアニメーション・イメージデータを格納した記憶部である。イメージデータ記憶部５６３には、カーソルイメージ、コンポーネントにカーソルが設定された際のイメージ、すなわちフォーカス設定時のイメージ、さらに後述するコンポーネントに設定されたカーソルの移動可能な方向をアロー（矢印）表示するためのアロー（矢印）表示イメージが含まれる。イメージデータは、例えばｊｐｅｇ、ｇｉｆ等の画像データファイルである。
【０１２１】
ＧＵＩアプリケーションプログラムの開発者としてのオペレータは、データ入出力部５８０を介して編集処理部５７０に対して、各種のデータ、コマンド、パラメータ入力を実行し、カーソルまたはカーソル設定位置のコンポーネント状態に応じて読み出すイメージデータの対応付け処理を実行する。
【０１２２】
編集処理部５７０では、たとえば、カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行しカーソル移動先を決定するフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する処理を実行し、さらに、フォーカスナビゲータに対して、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムの設定処理を実行する。フォーカスナビゲータ、フォーカスマネージャの詳細については後述する。
【０１２３】
また、編集処理部５７０では、カーソル設定状態にあるフォーカス状態コンポーネントについて、カーソル移動の可能な方向を示す方向情報を持つイメージを対応付ける処理を実行する。なお、編集処理部５７０における処理は、図１のハードウェア構成図においては、ＣＰＵ１０１の制御の下に実行される処理である。
【０１２４】
これらの設定情報に従って、各種のコンポーネントを有するＧＵＩアプリケーションプログラムが生成され、生成されたＧＵＩアプリケーションプログラムがプログラム記憶部５８１に格納され、プログラム実行部５８２において実行され、生成されたＧＵＩが表示部５８３に表示される。
【０１２５】
次に、生成したＧＵＩアプリケーションプログラムに従って、カーソルのアニメーション表現処理を実行するための構成、すなわち、情報家電等、ＧＵＩ搭載機器またはＧＵＩ表示装置における処理を実行するための機能構成を、図１２のブロック図を参照して説明する。
【０１２６】
フォーカスオブジェクト６０１は、カーソルまたはカーソル位置におけるアニメーション表現を記述したプログラムを有するプログラムファイルである。フォーカスマネージャ６０２は、フォーカスナビゲータ６０３から入力されるカーソルの移動先指示情報に従って、カーソルの移動処理を実行し、また、アニメーションの実行命令をフォーカスオブジェクト６０１に対して通知するなどの処理を実行するマネージメントプログラムである。フォーカスナビゲータ６０３は、検索エンジン６０４を有し、マウス、十字キー等の入力部からのユーザ入力に基づいて、検索エンジン６０４による検索処理を実行し、カーソルの移動先を決定し、決定したカーソルの移動先情報等をフォーカスマネージャ６０２に出力する。
【０１２７】
フォーカスナビゲータ６０３は、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する。カーソル移動指示入力情報は、例えば、上下左右４方向いずれかの移動方向指示情報であり、フォーカスナビゲータ６０３の実行するカーソル移動先選択アルゴリズムは、例えば、移動方向指示情報に対応する方向に存在する複数のコンポーネントから唯一のコンポーネントをカーソル移動先として決定するアルゴリズムである。
【０１２８】
カーソルの移動を指定するためのユーザ入力機器としては、例えば赤外線等の出力部を持つリモートコントローラが利用可能である。リモートコントローラの構成例を図１３に示す。図１３に示すコントローラは、ＧＵＩを持つコントロール機器に対する電源スイッチ７０１、赤外線出力手段等によって構成される出力部７０２、ディスプレイ７０３、各種の指定実行用の入力ボタン７０４、カーソルの上下左右の移動指示機能を持つ十字キー７０５を有する。なお、図１３に示すコントローラは一例であり、ＧＵＩ搭載機器の機能に応じた様々な構成が可能である。また、入力部は、リモートコントローラに限らず、ＧＵＩ搭載機器自体に一体化された入力部としてもよい。
【０１２９】
アニメーション表現を伴うカーソル移動処理シーケンスについて説明する。十字キー等の入力部からのユーザ入力が発生すると、入力情報をフォーカスナビゲータ６０３が受領する。フォーカスナビゲータ６０３は、入力情報に基づいて検索エンジン６０４を適用した移動先検索処理を実行する。
【０１３０】
フォーカスナビゲータ６０３は、検索エンジン６０４の検索結果に基づいて、移動先コンポーネントを決定する。移動先決定処理態様は、様々な態様が適用可能であり、これらの具体例については、後述する。
【０１３１】
移動先が決定すると、フォーカスナビゲータ６０３は、フォーカスマネージャ６０２に移動先指示を出力し、フォーカスマネージャ６０２が移動先に向けてカーソル移動処理を実行する。さらに、フォーカスマネージャ６０２が、アニメーション実行命令をフォーカスオブジェクト６０１に出力し、フォーカスオブジェクト６０１は、アニメーション処理プログラム、すなわちカーソルに対応して設定されたイメージファイルの読み出し処理、表示処理を実行する。この一連の処理により、アニメーション表現を実行したカーソル移動処理が行なわれる。
【０１３２】
図１４にカーソル移動時におけるアニメーション表現例を示す。図１２を参照して説明したように、アニメーション実行処理はフォーカスオブジェクトによるイメージデータの読み出しに基づいて実行される。図１４の処理例は、ディスプレイに表示されたボタン７２１から、ボタン７２２にカーソルが移動し、ボタン７２１のフォーカス状態が解除され、ボタン７２２がフォーカス状態となるまでの一連（（ａ）〜（ｄ））のディスプレイ表示例を示している。
【０１３３】
図１４の例では、ボタン形状と同様の矩形枠がカーソル移動方向に向けて順次発生し、カーソル移動に伴って、後方の矩形枠が消滅するアニメーション表現を実行している。これらのアニメーション表現は、フォーカスオブジェクトによって読み出されるイメージデータによるものである。このイメージデータの設定は、先に、図８を参照して説明したコンポーネントの状態に対応するイメージデータの設定処理と同様の処理により設定されたイメージデータに基づくアニメーション表示である。
【０１３４】
フォーカスナビゲータ６０３は、図１３に示すようなリモートコントローラ、あるいは機器自体の入力部としての十字キーによる入力を受領して、入力情報に基づいて検索エンジン６０４を適用した検索処理によりカーソル移動先を決定する。カーソル移動先の決定処理例について図１５を参照して説明する。図１５は、２つの異なる処理例（ａ）、（ｂ）を示している。いずれも、ボタン７５１にカーソルが位置して、ボタン７５１がフォーカス状態にあるときに、右方向への移動を指定するユーザ入力が発生した際の処理例を示している。
【０１３５】
図１５（ａ）は、ボタン７５１の右方向にあるボタンＡ〜Ｃ中、最上段のボタンＡを移動先として決定している例であり、図１５（ｂ）は、ボタン７５１の右方向にあるボタンＡ〜Ｃ中、中段のボタンＢを移動先として決定している例である。
【０１３６】
図１５（ａ）は、ボタン７５１の右方向にあるボタン中から、最上段にあるボタンを選択する処理であり、この処理は、フォーカスナビゲータ６０３において各ボタンコンポーネントの座標位置情報（Ｘ，Ｙ）に基づいて実行される。例えば、ボタン７５１の右方向にあるボタンをボタン７５１のＸ座標と、各ボタンコンポーネントのＸ座標比較処理により選択する処理を実行し、さらに、選択されたボタンコンポーネント中、Ｙ座標の最大のものをカーソル移動先として決定する。
【０１３７】
図１５（ｂ）は、ボタン７５１の右方向にあるボタン中から、ボタン７５１との距離が最も近いボタンを選択する処理であり、この処理は、フォーカスナビゲータ６０３において各ボタンコンポーネントの座標位置情報（Ｘ，Ｙ）に基づくボタン７５１との距離算出処理、および算出結果の比較処理に基づく移動先選択処理である。
【０１３８】
ユーザ入力情報に基づいて、移動先をどのように決定するかは、フォーカスナビゲータ６０３および検索エンジン６０４の実行するプログラムに依存するものであり、プログラムの設定により、ユーザ入力情報に基づく移動先決定アルゴリズムが様々に設定可能である。例えば、上述したように、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムとしたり、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズム等が設定可能である。これらのアルゴリズム設定処理は、ＧＵＩアプリケーション開発支援装置における編集処理部５７０（図１１参照）において実行される。
【０１３９】
また、ボタン等のコンポーネントの論理部品に予め、入力情報に従った移動先を設定しておくことも可能であり、この場合にはフォーカスナビゲータ６０３による移動先検索処理は実行されず、コンポーネントの持つ移動先設定情報に従って、移動先を決定する。
【０１４０】
このように、フォーカスナビゲータは、入力情報に基づいて検索エンジンを適用した移動先決定処理を実行するが、さらに、各コンポーネントの移動可能な方向に関する情報を取得し、フォーカス状態となったコンポーネントについて、カーソルの移動可能な方向を示すアロー（矢印）等のグラフィック画像の表示を行なうことを可能としている。この画像表示処理プログラムは、前述したコンポーネントに対応するグラフッイクス表現部品に設定するか、あるいはカーソルに対応するフォーカスオブジェクトとして設定可能である。
【０１４１】
矢印表示例を図１６に示す。（ａ）の表示例では、カーソルが設定されフォーカス状態にあるボタンコンポーネント７８１から、カーソルの移動可能なコンポーネントが上下左右の４方向に存在する。このような状態のコンポーネントに対しては、上下左右の４方向に移動可能なコンポーネントが存在することを示すアロー（矢印）が表示される。（ｂ）は、フォーカス状態にあるボタンコンポーネント７８２からカーソル移動可能なコンポーネントが上と右の２方向に存在する。このような状態のコンポーネントに対しては、上、右の２方向に移動可能なコンポーネントが存在することを示す矢印が表示される。
【０１４２】
（ｃ）は、フォーカス状態にあるボタンコンポーネント７８３に対して、カーソルの移動可能なコンポーネントが下方向にのみ存在する。このような状態のコンポーネントに対しては、下方向にのみ矢印が表示される。（ｄ）は、フォーカス状態にあるボタンコンポーネント７８４に対して、カーソルの移動可能なコンポーネントが上方向にのみ存在する。このような状態のコンポーネントに対しては、上方向にのみ矢印が表示される。
【０１４３】
カーソル移動処理における移動先決定および移動可能方向情報表示手順について、図１７に示すフローを参照して説明する。まず、ステップＳ３０１において、十字キー等の入力部からの入力有無を判定し、入力があるとステップＳ３０２に進み、カーソル現在位置のコンポーネントが、移動先指示を示す移動情報を有するか否か、例えばコンポーネントの論理部分ファイルに移動先コンポーネント情報が含まれるか否かを判定する。情報がある場合は、ステップＳ３１０に進み、移動情報に従って移動先を決定し、ステップＳ３０７において、決定した移動先に対してカーソル移動を実行する。
【０１４４】
ステップＳ３０２において、フォーカス状態のコンポーネントが移動先指示を示す情報を有しないと判定した場合は、ステップＳ３０３に進み、ユーザ入力情報に基づく検索エンジンによる移動先検索が実行され、ステップＳ３０４において、フォーカスナビゲータが、検索エンジンの検索結果に基づいて、移動先を決定する。さらに、ステップＳ３０５では、フォーカスナビゲータが移動先コンポーネントの周囲４方向のコンポーネント配置情報に基づいて、移動先コンポーネントのカーソル移動可能方向情報を取得する。
【０１４５】
ステップＳ３０６では、フォーカスナビゲータが決定した移動先情報と、移動先コンポーネントの移動可能方向情報がフォーカスマネージャに渡されて、ステップＳ３０７において、移動先に対するカーソル移動処理を実行する。
【０１４６】
ステップＳ３０８では、フォーカスマネージャが、フォーカスナビゲータから移動先コンポーネントのカーソル移動可能方向情報を受領しているか否かを判定し、受領していない場合は終了し、受領している場合は、フォーカスオブジェクトに対して移動可能方向情報に基づく識別情報（例えば矢印）の表示処理実行命令を出力し、フォーカスオブジェクトが入力命令に従って、矢印表示のアニメーションを実行する。
【０１４７】
すなわち、フォーカスオブジェクトは、フォーカスマネージャから入力する移動可能方向情報に従って、イメージデータを選択し、例えば、先に図１６を参照して説明した移動可能方向に矢印を設定したイメージからなるアニメーション表示を実行する。
【０１４８】
［８．ＧＵＩ表示装置構成例］
次に、情報家電等、上述した説明に従った様々な表示処理を実行するグラフィカル・ユーザインタフェース（ＧＵＩ）を有する装置構成例について、図１８を参照して説明する。
【０１４９】
ＧＵＩ搭載機器としては、様々な家電機器、通信機器が想定される。図１８に示す装置構成例は、その１つの例を示し、動画像をネットワークを介して受信、あるいは記憶媒体から読み出して再生可能な構成を持つＧＵＩ表示装置構成例を示している。
【０１５０】
図１８に示すＧＵＩ表示装置８００には、インターネット配信データ、あるいはブロードキャストデータ等を受信する通信インタフェース８０１を有し、データ配信サイトからＨＴＭＬ文書、動画コンテンツなどを受信する。また、記憶媒体インタフェース８０２は、ＤＶＤ、フラッシュメモリ等、各種記憶媒体８２０との間のデータ転送用インタフェースであり、画像データなど、各種コンテンツを記憶媒体８２０とデータ処理装置８００間で入出力するインタフェースである。
【０１５１】
画像配信サイトから送信されるコンテンツ、あるいは記憶媒体８２０に格納されるコンテンツが符号化されている場合には、デコード／エンコード処理部８０３においてデコード処理が実行された後、表示制御部８０８の制御のもとに、表示装置８１０において表示する。
【０１５２】
一方、ユーザによる各種コマンド、あるいは前述したカーソル移動指示情報は、コントローラ８１１から入力され、受信部８０７が受信して、制御部（ＣＰＵ）８０４に出力する。制御部８０４は、前述した各コンポーネントに対応する論理部品、グラフッイクス表現部品等に従って、各種の処理を実行する。また、フォーカスマネージメント処理、すなわち、カーソル移動に伴うカーソル移動先コンポーネント決定処理を実行する。さらに、移動可能方向を例えば矢印で示したイメージデータによるアニメーション表示処理についてフォーカスオブジェクトに従って実行する。
【０１５３】
ＧＵＩ表示装置８００における記憶部は、受信データの記憶、各種処理プログラムの記憶、プリセット表示画像プログラムの記憶、あるいはＣＰＵ８０４におけるワークエリアとしての記憶領域等に用いられる記憶部であり、ＲＡＭ、ＲＯＭ等によって構成される。タイマ８０６は、ＧＵＩ処理における各種プログラムの実行時間の計測に使用される。
【０１５４】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１５５】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１５６】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ　ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１５７】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１５８】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【０１５９】
【発明の効果】
以上説明してきたように、本発明のＧＵＩ表示装置は、カーソル移動指示入力情報に基づいて検索エンジンによる検索処理を実行し、カーソル移動先を決定するフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従って、カーソルの移動処理を実行するフォーカスマネージャとを有し、フォーカスナビゲータは、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムに従ってカーソル移動先決定処理を実行する構成としたので、ユーザ入力が例えば十字キー等のように移動方向の粗い設定情報のみの入力であっても、ユーザ入力に基づいて即座に移動先を決定することが可能となり、ユーザがカーソル移動の細かな制御を行なう必要がない。
【０１６０】
また、本発明の、ＧＵＩアプリケーション開発支援装置によれば、編集処理部において、カーソル移動指示入力情報に基づいて唯一のカーソル移動先を選択するカーソル移動先選択アルゴリズムを設定したフォーカスナビゲータと、フォーカスナビゲータの決定するカーソルの移動先指示情報に従ってカーソルの移動処理を実行するフォーカスマネージャとを、カーソル制御プログムとして設定する構成としたので、カーソル移動先選択アルゴリズムの態様を変更、設定することで、例えば、現カーソル設定コンポーネントから最短距離にあるコンポーネントを選択するアルゴリズムや、移動方向指示情報に対応する方向に存在する複数のコンポーネント中、最端部にあるコンポーネントを選択するアルゴリズムなど、様々な態様でカーソル移動を実行するＧＵＩアプリケーションプログラムを容易に生成することが可能となる。
【図面の簡単な説明】
【図１】本発明のＧＵＩアプリケーション開発支援装置のハードウェア構成例を示す図である。
【図２】本発明のＧＵＩアプリケーション開発支援装置の機能構成を示すブロック図である。
【図３】本発明のＧＵＩアプリケーション開発支援装置の処理シーケンスを説明するシーケンス図である。
【図４】本発明のＧＵＩアプリケーション開発支援装置の処理シーケンスを説明するシーケンス図である。
【図５】本発明のＧＵＩアプリケーション開発支援装置の処理を実行するために必要なファイル構成例を説明する図である。
【図６】本発明のＧＵＩアプリケーション開発支援装置において生成したＧＵＩコンポーネントの表示例を説明する図である。
【図７】本発明のＧＵＩアプリケーション開発支援装置において生成したＧＵＩコンポーネントの表示例を説明する図である。
【図８】本発明のＧＵＩアプリケーション開発支援装置において実行されるコンポーネントの各状態に対応したアニメーション設定処理例を説明する図である。
【図９】本発明のＧＵＩアプリケーション開発支援装置においてコンポーネントのアニメーション処理を設定するための機能構成を示すブロック図である。
【図１０】本発明のＧＵＩアプリケーション開発支援装置において生成したコンポーネントの状態に対応するアニメーション実行処理例を説明する図である。
【図１１】本発明のＧＵＩアプリケーション開発支援装置において、カーソル対応のイメージデータ設定処理機能を実行する構成を示すブロック図である。
【図１２】本発明のＧＵＩ表示装置において、カーソル移動およびカーソル対応のイメージデータ表示処理を実行する構成を示すブロック図である。
【図１３】ＧＵＩ搭載機器に付属するカーソル移動指示可能なリモートコントローラの構成例を示す図である。
【図１４】ＧＵＩ表示ディスプレイにおけるカーソル移動に伴うアニメーション表示例を示す図である。
【図１５】ＧＵＩ表示ディスプレイにおけるコンポーネント間のカーソル移動例を示す図である。
【図１６】ＧＵＩ表示ディスプレイにおけるコンポーネントのカーソル移動可能方向識別マーク表示例を示す図である。
【図１７】カーソル移動処理における移動先決定および移動可能方向情報表示手順を説明するフローチャートを示す図である。
【図１８】ＧＵＩ表示装置の構成例を示すブロック図である。
【符号の説明】
１０１　ＣＰＵ
１０２　メモリ
１０３　ディスプレイコントローラ
１０４　入力機器インターフェース
１０５　ネットワークインターフェース
１０６　外部機器インターフェース
１０７　バス
１０８　ディスプレイ
１０９　キーボード
１１０　マウス
１１１　ＨＤＤ
１１２　メディアドライブ
１５０　グラフィックス処理チップ
１６０　過搬型メディア
２００　部品記憶部
２０１　論理部品記憶部
２０２　グラフィックス表現部品記憶部（シンプル）
２０３　グラフィックス表現部品記憶部（リッチ）
２０５　イメージデータ記憶部
２１０　編集処理部
２１１　プロパティ編集部
２１２　メソッド編集部
２１３　イベント編集部
２２０　データ入出力部
２２１　プログラム記憶部
２２２　プログラム実行部
２２３　表示部
３１１　ボタン
３１２　コンボボックス
３２０　ボタン
３３０　コンボボックス
３２１，３２２　アニメーション
３３１，３３２　アニメーション
３５１　コンポーネント指定欄
３５２　イメージ設定欄
４００　部品記憶部
４０１　論理部品記憶部
４０２　グラフィックス表現部品記憶部
４０３　イメージデータ記憶部
４１０　編集処理部
４２０　データ入出力部
４２１　プログラム記憶部
４２２　プログラム実行部
４２３　表示部
５１１　グラフィックス表現クラス
５１２　イメージファイル
５１３　ディスプレイ
５１４　アニメーション
５６０　部品記憶部
５６１　論理部品記憶部
５６２　グラフィックス表現部品記憶部
５６３　イメージデータ記憶部
５７０　編集処理部
５８０　データ入出力部
５８１　プログラム記憶部
５８２　プログラム実行部
５８３　表示部
６０１　フォーカスオブジェクト
６０２　フォーカスマネージャ
６０３　フォーカスナビゲータ
６０４　検索エンジン
７０１　電源スイッチ
７０２　出力部
７０３　ディスプレイ
７０４　入力ボタン
７０５　十字キー
７２１，７２２　ボタン
７２３　アニメーション
７５１　ボタン
７８１〜７８４　ボタン
８００　ＧＵＩ表示装置
８０１　通信Ｉ／Ｆ
８０２　記憶媒体Ｉ／Ｆ
８０３　デコード／エンコード処理部
８０４　制御部（ＣＰＵ）
８０５　記憶部
８０６　タイマ
８０７　受信部
８０８　表示制御部
８１０　表示部
８１１　コントローラ
【図１】
2004102499.tif 000003
【図２】
2004102499.tif 000004
【図３】
2004102499.tif 000005
【図４】
2004102499.tif 000006
【図５】
2004102499.tif 000007
【図６】
2004102499.tif 000008
【図７】
2004102499.tif 000009
【図８】
2004102499.tif 000010
【図９】
2004102499.tif 000011
【図１０】
2004102499.tif 000012
【図１１】
2004102499.tif 000013
【図１２】
2004102499.tif 000014
【図１３】
2004102499.tif 000015
【図１４】
2004102499.tif 000016
【図１５】
2004102499.tif 000017
【図１６】
2004102499.tif 000018
【図１７】
2004102499.tif 000019
【図１８】
2004102499.tif 000020