(57)【要約】【課題】不完全な画像の表示を防止することができるアプリケーション実行装置を提供する。【解決手段】ＭＦＰ１００は、拡張アプリ２０８の仕様が背景色描画を実行する仕様である旨を示す「ＦＡＬＳＥ」が属性情報２０９に設定されていない場合、仮想マシン２０１による背景色描画処理を実行する旨を設定する。【選択図】図６
2018022370.tif 000002
【特許請求の範囲】
【請求項１】
インストールされたアプリケーションを制御する仮想マシンを備えるアプリケーション実行装置であって、
前記アプリケーションによって画像を描画する際に当該画像の背景を前記アプリケーションによって描画するか否かを示す属性情報を参照する参照手段と、
前記属性情報に前記画像の背景を前記アプリケーションによって描画する旨が設定されていない場合、前記仮想マシンによって前記画像の背景を描画する旨を設定する設定手段とを備えることを特徴とするアプリケーション実行装置。
【請求項２】
前記属性情報に前記画像の背景を前記アプリケーションによって描画する旨が設定されていない場合は、前記属性情報に前記画像の背景を前記アプリケーションによって描画しない旨が設定されている場合、又は前記アプリケーションに前記属性情報が設定されていない場合であることを特徴とする請求項１記載のアプリケーション実行装置。
【請求項３】
前記設定手段は、前記属性情報に前記画像の背景を前記アプリケーションによって描画する旨が設定されている場合、前記仮想マシンによって前記画像の背景を描画しない旨を設定することを特徴とする請求項１又は２記載のアプリケーション実行装置。
【請求項４】
前記画像を描画するための描画情報を登録する登録手段を更に備え、
前記登録手段は、前記描画情報を前記設定手段による設定に対応付けて登録することを特徴とする請求項１乃至３のいずれか１項に記載のアプリケーション実行装置。
【請求項５】
前記属性情報をユーザに設定させる属性情報設定手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載のアプリケーション実行装置。
【請求項６】
インストールされたアプリケーションを制御する仮想マシンを備えるアプリケーション実行装置の制御方法であって、
前記アプリケーションによって画像を描画する際に当該画像の背景を前記アプリケーションによって描画するか否かを示す属性情報を参照する参照ステップと、
前記属性情報に前記画像の背景を前記アプリケーションによって描画する旨が設定されていない場合、前記仮想マシンによって前記画像の背景を描画する旨を設定する設定ステップとを有することを特徴とするアプリケーション実行装置の制御方法。
【請求項７】
インストールされたアプリケーションを制御する仮想マシンを備えるアプリケーション実行装置の制御方法をコンピュータに実行させるプログラムであって、
前記アプリケーション実行装置の制御方法は、
前記アプリケーションによって画像を描画する際に当該画像の背景を前記アプリケーションによって描画するか否かを示す属性情報を参照する参照ステップと、
前記属性情報に前記画像の背景を前記アプリケーションによって描画する旨が設定されていない場合、前記仮想マシンによって前記画像の背景を描画する旨を設定する設定ステップとを有することを特徴とするプログラム。
【請求項８】
アプリケーション実行装置にインストールされたアプリケーションを実行するプログラムであって、
前記プログラムは、前記アプリケーションによって画像を描画する際に当該画像の背景を前記アプリケーションによって描画するか否かを示す属性情報を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション実行装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
Ｊａｖａ（登録商標）ＶＭ（Virtual Machine）等の仮想マシンモジュール（以下、単に「仮想マシン」という。）が組み込まれたアプリケーション実行装置としてのＭＦＰが知られている。ＭＦＰは、機能を拡張する複数の拡張アプリケーションモジュール（以下、単に「拡張アプリ」という。）をインストール可能であり、インストールされた各拡張アプリを仮想マシンが制御する。ＭＦＰでは、拡張アプリがインストールされると、例えば、該拡張アプリを示すアイコンがＭＦＰの操作画面に表示される。ユーザによって該アイコンが選択されると、ＭＦＰは選択されたアイコンの拡張アプリのＧＵＩ（Graphical User Interface）の画像（以下、「拡張アプリＧＵＩ」という。）を表示する表示制御処理を実行する。表示制御処理では、拡張アプリによって予め設定された背景色で拡張アプリＧＵＩの背景を描画する背景色描画を仮想マシンが行い、その後、背景以外の残りの拡張アプリＧＵＩの描画処理を拡張アプリが行う。
【０００３】
ＭＦＰにインストールされる拡張アプリには、拡張アプリＧＵＩを表示する際に背景色描画を含む描画処理を実行する拡張アプリも存在する。このような拡張アプリの拡張アプリＧＵＩを表示する場合、拡張アプリが背景を含む全ての拡張アプリＧＵＩの描画処理を行うが、システムの仕様上仮想マシンも拡張アプリＧＵＩの背景色描画を行う場合がある。この場合、拡張アプリＧＵＩの背景色描画が複数回実行され、拡張アプリＧＵＩを表示する際のちらつきが顕著になってしまう。これに対して、拡張アプリＧＵＩの描画処理において、仮想マシンによる背景色描画を実行しない技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１７１２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１の技術では、拡張アプリＧＵＩの背景色描画を仮想マシンに実行させる仕様の拡張アプリにおいて、背景が描画されない不完全な拡張アプリＧＵＩが表示されてしまうという問題が生じる。
【０００６】
本発明の目的は、不完全な画像の表示を防止することができるアプリケーション実行装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のアプリケーション実行装置は、インストールされたアプリケーションを制御する仮想マシンを備えるアプリケーション実行装置であって、前記アプリケーションによって画像を描画する際に当該画像の背景を前記アプリケーションによって描画するか否かを示す属性情報を参照する参照手段と、前記属性情報に前記画像の背景を前記アプリケーションによって描画する旨が設定されていない場合、前記仮想マシンによって前記画像の背景を描画する旨を設定する設定手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、不完全な画像の表示を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係るアプリケーション実行装置としてのＭＦＰの構成を概略的に示すブロック図である。
【図２】図１のＭＦＰのソフトウェアモジュールの構成を概略的に示すブロック図である。
【図３】図１のＭＦＰで登録されるアプレットを説明するための図である。
【図４】図１のＭＦＰで実行される起動制御処理の手順を示すフローチャートである。
【図５】図４のステップＳ４０３のアプリ起動処理の手順を示すフローチャートである。
【図６】図１のＭＦＰで実行されるアプレット登録処理の手順を示すフローチャートである。
【図７】図１のＭＦＰにインストールされた拡張アプリのアプリ情報を管理するための管理データの一例を示す図である。
【図８】図１のＭＦＰで実行される背景描画制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１１】
本実施の形態では、アプリケーション実行装置としてのＭＦＰに本発明を適用した場合について説明するが、本発明の適用先はＭＦＰに限られず、拡張アプリＧＵＩの描画処理を行う拡張アプリをインストール可能な装置であれば本発明を適用することができる。
【００１２】
図１は、本発明の実施の形態に係るアプリケーション実行装置としてのＭＦＰ１００の構成を概略的に示すブロック図である。
【００１３】
図１において、ＭＦＰ１００は、制御部１０１、タッチパネル１１０（属性情報設定手段）、ディスプレイ１１１、及び外部メモリ１１２を備え、制御部１０１はタッチパネル１１０、ディスプレイ１１１、及び外部メモリ１１２のそれぞれと接続されている。制御部１０１は、ＣＰＵ１０２、ＲＡＭ１０３、ＲＯＭ１０４、入力制御部１０５、表示制御部１０６、外部メモリＩ／Ｆ１０７、及び通信Ｉ／Ｆ１０８を備える。ＣＰＵ１０２、ＲＡＭ１０３、ＲＯＭ１０４、入力制御部１０５、表示制御部１０６、外部メモリＩ／Ｆ１０７、及び通信Ｉ／Ｆ１０８はシステムバス１１３を介して互いに接続されている。
【００１４】
ＭＦＰ１００は機能を拡張する複数の拡張アプリをインストール可能である。制御部１０１はＭＦＰ１００全体を統括的に制御する。ＣＰＵ１０２はＲＯＭ１０４に格納されたプログラムを実行して後述する図２のソフトウェアモジュール２００の各処理を行う。ＲＡＭ１０３は揮発性メモリである。ＲＡＭ１０３はＣＰＵ１０２の作業領域として用いられ、また、ＲＡＭ１０３は各データの一時格納領域として用いられる。ＲＯＭ１０４は不揮発性メモリであり、ＣＰＵ１０２が実行するプログラムや各データを格納する。入力制御部１０５は図示しないキーボード及びマウス等のユーザの操作を受け付ける入力デバイスや、タッチパネル１１０等とデータ通信を行う。表示制御部１０６はディスプレイ１１１における画像の表示を制御する。外部メモリＩ／Ｆ１０８は外部メモリ１１２から各データを読み出し、また、外部メモリＩ／Ｆ１０８は外部メモリ１１２に各データを書き込む。通信Ｉ／Ｆ１０８はネットワーク１０９等に接続された図示しない外部装置との通信を制御する。
【００１５】
タッチパネル１１０は、例えば、抵抗膜方式、静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、及び光センサ方式のいずれかの方式によってユーザによるタッチ操作を検知する。タッチパネル１１０は、ディスプレイ１１１の表示を妨げない程度の透明度であり、ディスプレイ１１１の表示面の上層に一体的に取り付けられ、タッチパネル１１０の位置座標及びディスプレイ１１１の表示座標は対応付けされている。これにより、ユーザはあたかもディスプレイ１１１に表示された画像を直接操作しているかのような操作感を得ることができる。また、タッチパネル１１０は該タッチパネル１１０においてユーザにタッチされた位置を示す座標情報を制御部１０１に送信する。ディスプレイ１１１はＭＦＰ１００の各設定を行うＧＵＩの画像等を表示する。外部メモリ１１２はハードディスク、フロッピーディスク、ＣＤ、ＤＶＤ、及びメモリカード等のＭＦＰ１００に接続可能な記憶装置である。
【００１６】
図２は、図１のＭＦＰ１００のソフトウェアモジュール２００の構成を概略的に示すブロック図である。
【００１７】
図２において、ソフトウェアモジュール２００は、仮想マシン２０１、ネイティブ制御モジュール２０２、アプリフレームワークモジュール２０４、及びアプリケーションモジュール（以下、単に「アプリ」という。）２０５を備える。ネイティブ制御モジュール２０２は画面関連制御モジュール２０３を備え、アプリ２０５はシステムサービスモジュール２０６及び拡張アプリ２０８を備える。システムサービスモジュール２０６はＡＶＳ（Applet viewer Service）モジュール２０７を備える。ソフトウェアモジュール２００の各処理は、ＣＰＵ１０２がＲＯＭ１０４に格納されたプログラムを実行することによって行われる。なお、本実施の形態では、説明を容易にするため、アプリ２０５が１つの拡張アプリ２０８を備える場合を前提とするが、アプリ２０５はインストールされた複数の拡張アプリを備えても良い。
【００１８】
仮想マシン２０１はアプリ２０５の実行環境を提供する。仮想マシン２０１は、コード解釈機能、コマンド制御機能、リソース管理機能、グラフィックス処理制御機能、及びイベント制御機能等の各機能を備える。コード解釈機能はコンパイルされたバイトコードを解釈するための機能であり、コマンド制御機能は仮想マシン２０１によって解釈されたネイティブコマンドを制御するための機能である。リソース管理機能はアプリ２０５による各処理の実行に必要となるリソースや、ネイティブ制御モジュール２０２へ処理を要求する際に必要となるリソースを管理する機能である。グラフィックス処理制御機能はアプリ２０５からの描画命令をネイティブ制御モジュール２０２に要求するための機能である。イベント制御機能はタッチパネル１１０における入力操作の検知や、通信Ｉ／Ｆ１０８におけるネットワーク接続の検知等のＭＦＰ１００の状態変化をアプリ２０５に通知するための機能である。
【００１９】
ネイティブ制御モジュール２０２は入力制御部１０５及び表示制御部１０６の制御を行う。画面関連制御モジュール２０３は、ディスプレイ１１１に各画像、例えば、インストールされた複数の拡張アプリの中から所望する拡張アプリの実行をユーザに選択させるための図示しない設定メニューを表示させる。また、画面関連制御モジュール２０３は、タッチパネル１１０において、タッチダウン、タッチオン、タッチアップ、ムーブ、タッチオフ、及びフリック等の入力操作を検知すると、入力操作が行われた位置を座標情報に変換する。さらに、画面関連制御モジュール２０３は、タッチパネル１１０の入力操作を検知した旨を示す入力操作検知通知を仮想マシン２０１に出力する。入力操作検知通知に応じて仮想マシン２０１から描画要求が送信されると、画面関連制御モジュール２０３は当該描画要求に応じた画像をディスプレイ１１１に表示させる。例えば、図示しない設定メニューにおいて拡張アプリ２０８が選択されると、画面関連制御モジュール２０３はディスプレイ１１１の表示を上記設定メニューから拡張アプリＧＵＩに切り替える。アプリフレームワークモジュール２０４はアプリ２０５の各モジュールの起動等を制御する。
【００２０】
アプリ２０５は、計算処理、文字列処理、通信処理、画面制御処理、及び暗号処理等のＭＦＰ１００の標準的な機能や、拡張アプリによる拡張機能を実現する。システムサービスモジュール２０６は予めＭＦＰ１００に組み込まれているモジュールであり、拡張アプリがＭＦＰ１００にインストールされた際に当該拡張アプリを実行可能に設定する。
【００２１】
ＡＶＳモジュール２０７は該ＡＶＳモジュール２０７の起動時に拡張アプリＧＵＩの枠を表示するためのプログラムである図３（ａ）のフレーム３０１の生成を仮想マシン２０１に要求する。フレーム３０１は、例えば、Ｊａｖａのjava.awt.frameクラスで表される。また、ＡＶＳモジュール２０７は、拡張アプリ２０８から受信したアプレットの登録要求に基づいてディスプレイ１１１に画像を表示するための図３（ｂ）のアプレット３０２（描画情報）や図３（ｃ）のアプレット３０３をフレーム３０１に登録する。アプレット３０２，３０３は表示される画像の仕様、例えば、画像のサイズ、テキストフィールドやボタンを含めるか否かを示す情報、及び背景色の情報を含む。アプレット３０２は、例えば、拡張アプリＧＵＩを表示するためのプログラムである。アプレット３０３は、例えば、エラー画像を表示するためのプログラムである。本実施の形態では、フレーム３０１に対して複数のアプレットを登録可能である。フレーム３０１に登録された時点では、アプレット３０２，３０３の表示属性は不可視状態に設定され、アプレット３０２，３０３の各々に対して所定の表示条件が設定される。所定の表示条件を満たすと、登録されたアプレット３０２，３０３のうち所定の表示条件を満たしたアプレット、例えば、アプレット３０２のみが可視状態に設定され、ＭＦＰ１００はディスプレイ１１１に当該アプレット３０２に対応する拡張アプリＧＵＩを表示する。
【００２２】
さらに、ＡＶＳモジュール２０７は、拡張アプリ２０８等から後述する図２の属性情報２０９等の拡張アプリの仕様を示すアプリ情報を取得し、取得されたアプリ情報を設定する旨を仮想マシン２０１に要求する。ＡＶＳモジュール２０７は、拡張アプリ２０８から拡張アプリＧＵＩの表示要求を受信した場合、又はネイティブ制御モジュール２０２によってユーザの入力操作を検知した場合等に、ディスプレイ１１１に拡張アプリＧＵＩを表示させる表示制御を行う。
【００２３】
拡張アプリ２０８は、ＭＦＰ１００の機能を拡張するためのアプリであり、当該拡張アプリ２０８の起動時にＡＶＳモジュール２０７にアプレット３０２の登録要求を行う。拡張アプリ２０８には、拡張アプリ２０８自身が拡張アプリＧＵＩの背景色描画を実行する仕様であるか否かを示す属性情報２０９が予め設定されている。例えば、拡張アプリ２０８自身が拡張アプリＧＵＩの背景色描画を実行しない仕様である場合、属性情報２０９には「ＴＲＵＥ」が設定され、拡張アプリ２０８自身が背景色描画を実行する仕様である場合、属性情報２０９には「ＦＡＬＳＥ」が設定される。拡張アプリ２０８は、仮想マシン２０１によって処理可能にコンパイルされたバイトコードで構成される図示しない標準ライブラリをＡＰＩ２１０を介して参照する。標準ライブラリは、計算処理、文字列処理、通信処理、画面制御処理、及び暗号処理等のＭＦＰ１００の標準的な機能を実現するためのライブラリである。
【００２４】
図４は、図１のＭＦＰ１００で実行される起動制御処理の手順を示すフローチャートである。
【００２５】
図４の処理は、ＣＰＵ１０２がＲＯＭ１０４に格納されたプログラムを実行することによって行われ、アプリフレームワークモジュール２０４及びアプリ２０５によって実行される。
【００２６】
図４において、まず、アプリフレームワークモジュール２０４は、仮想マシン２０１からアプリ２０５の起動要求を受信すると、アプリ２０５における全てのモジュールが起動しているか否かを判別する（ステップＳ４０１）。
【００２７】
ステップＳ４０１の判別の結果、アプリ２０５における全てのモジュールが起動しているとき、アプリフレームワークモジュール２０４は本処理を終了する。一方、ステップＳ４０１の判別の結果、アプリ２０５におけるいずれかのモジュールが起動していないとき、アプリフレームワークモジュール２０４は、アプリ２０５に対して起動していないモジュールの起動要求を行う（ステップＳ４０２）。次いで、アプリ２０５は、アプリフレームワークモジュール２０４から起動要求を受信すると、後述する図５のアプリ起動処理を行って（ステップＳ４０３）、起動していないモジュールを起動させ、ステップＳ４０１の処理に戻る。
【００２８】
図５は、図４のステップＳ４０３のアプリ起動処理の手順を示すフローチャートである。
【００２９】
図５の処理は、アプリフレームワークモジュール２０４からアプリ２０５にＡＶＳモジュール２０７の起動要求が行われた場合を前提とし、ＡＶＳモジュール２０７、仮想マシン２０１、及び画面関連制御モジュール２０３によって実行される。
【００３０】
図５において、まず、ＡＶＳモジュール２０７は、アプリフレームワークモジュール２０４からの起動要求に応じて起動処理を行い、起動処理が完了すると、仮想マシン２０１にフレーム３０１の生成要求を行う（ステップＳ５０１）。次いで、仮想マシン２０１は、当該生成要求に応じてフレーム３０１に対応する画面バッファの確保要求を画面関連制御モジュール２０３に行う（ステップＳ５０２）。次いで、画面関連制御モジュール２０３は当該画面バッファの確保要求に応じてフレーム３０１に対応する画面バッファをＲＡＭ１０３に確保する（ステップＳ５０３）。その後、画面関連制御モジュール２０３は画面バッファを確保した旨を示す確保通知を仮想マシン２０１を介してＡＶＳモジュール２０７に出力する。次いで、ＡＶＳモジュール２０７は、確保通知を受信すると、ＭＦＰ１００にインストールされた各拡張アプリのアプリ情報を管理するための領域をＲＯＭ１０４等に確保し（ステップＳ５０４）、図４のステップＳ４０１の処理を行う。図４の処理の実行が完了すると、アプリ２０５は拡張アプリ２０８からアプレットの登録要求が行われるまで待機する。
【００３１】
図６は、図１のＭＦＰ１００で実行されるアプレット登録処理の手順を示すフローチャートである。
【００３２】
図６の処理は、ＣＰＵ１０２がＲＯＭ１０４に格納されたプログラムを実行することによって行われる。図６の処理は、図５の処理の実行が完了した後に実行され、アプリ２０５の拡張アプリ２０８、ＡＶＳモジュール２０７、及び仮想マシン２０１によって実行される。
【００３３】
図６において、まず、拡張アプリ２０８はＡＶＳモジュール２０７にアプレット３０２の登録要求を行う（ステップＳ６０１）。次いで、ＡＶＳモジュール２０７は該登録要求を行った拡張アプリ２０８のアプリ情報を参照する（ステップＳ６０２）。本実施の形態では、拡張アプリがＭＦＰ１００にインストールされると、当該拡張アプリのアプリ情報がＲＯＭ１０４に格納された図７の管理データ７０１に設定される。管理データ７０１はインストールされた全ての拡張アプリのアプリ情報を含む。管理データ７０１は、識別子７０２、アプリ名７０３、背景色描画属性７０４、及び画面サイズ７０５を備える。識別子７０２は拡張アプリを識別するために一意に割り当てられた番号、例えば、ＵＵＩＤである。アプリ名７０３は拡張アプリの種別を示す情報である。背景色描画属性７０４は属性情報２０９に対応する情報である。画面サイズ７０５は拡張アプリＧＵＩ等の各画像のサイズである。なお、本実施の形態では、アプリ情報の管理方法として、インストールされた全ての拡張アプリのアプリ情報を管理データ７０１に設定して各拡張アプリのアプリ情報を管理する場合を説明したが、アプリ情報の管理方法はこれに限られない。各拡張アプリのアプリ情報はＡＶＳモジュール２０７が読み出し可能に管理されていれば良く、例えば、アプリ情報がアプリ毎にＲＯＭ１０４等に直接格納されていても良い。
【００３４】
次いで、ＡＶＳモジュール２０７は拡張アプリ２０８に属性情報２０９が設定されているか否かを判別する（ステップＳ６０３）。ステップＳ６０３では、例えば、管理データ７０１における拡張アプリ２０８の背景色描画属性７０４に「ＴＲＵＥ」及び「ＦＡＬＳＥ」のいずれかが設定されている場合、拡張アプリ２０８に属性情報２０９が設定されていると判別する。一方、管理データ７０１における拡張アプリ２０８の背景色描画属性７０４に属性情報２０９が設定されていない旨を示す「未設定」や「−」が設定されている場合、拡張アプリ２０８に属性情報２０９が設定されていないと判別する。
【００３５】
ステップＳ６０３の判別の結果、拡張アプリ２０８に属性情報２０９が設定されていないとき、ＡＶＳモジュール２０７は仮想マシン２０１の背景色描画機能を有効、つまり、仮想マシン２０１による背景色描画処理を実行する旨を設定する（ステップＳ６０４）。次いで、ＡＶＳモジュール２０７は後述するステップＳ６０７以降の処理を行う。
【００３６】
ステップＳ６０３の判別の結果、拡張アプリ２０８に属性情報２０９が設定されているとき、ＡＶＳモジュール２０７は属性情報２０９に「ＴＲＵＥ」が設定されているか否かを判別する（ステップＳ６０５）。
【００３７】
ステップＳ６０５の判別の結果、属性情報２０９に「ＴＲＵＥ」が設定されているとき、ＡＶＳモジュール２０７はステップＳ６０４以降の処理を行う。すなわち、本実施の形態では、拡張アプリ２０８自身が背景色描画を実行する仕様である旨を示す「ＦＡＬＳＥ」が属性情報２０９に設定されていない場合に、仮想マシン２０１による背景色描画処理を実行する旨が設定される。一方、ステップＳ６０５の判別の結果、属性情報２０９に「ＦＡＬＳＥ」が設定されているとき、ＡＶＳモジュール２０７は仮想マシン２０１の背景色描画機能を無効、つまり、仮想マシン２０１による背景色描画処理を実行しない旨を設定する（ステップＳ６０６）。次いで、ＡＶＳモジュール２０７はアプレット３０２をフレーム３０１に登録するためのアプレット３０２の登録要求を仮想マシン２０１に行う（ステップＳ６０７）。次いで、仮想マシン２０１はＡＶＳモジュール２０７から受信したアプレット登録要求に応じてアプレット３０２及び背景色描画機能の設定を対応付けして登録し（ステップＳ６０８）（登録手段）、本処理を終了する。
【００３８】
図８は、図１のＭＦＰ１００で実行される背景描画制御処理の手順を示すフローチャートである。
【００３９】
図８の処理は、ＣＰＵ１０２がＲＯＭ１０４に格納されたプログラムを実行することによって行われる。図８の処理は、仮想マシン２０１が拡張アプリＧＵＩの表示要求を受信した場合を前提とし、仮想マシン２０１及び画面関連制御モジュール２０３によって実行される。
【００４０】
図８において、まず、拡張アプリＧＵＩの表示要求を受信すると、仮想マシン２０１は、登録された全てのアプレットに対する処理を完了したか否かを判別する（ステップＳ８０１）。
【００４１】
ステップＳ８０１の判別の結果、登録された全てのアプレットに対する処理を完了したとき、仮想マシン２０１は本処理を終了する。一方、ステップＳ８０１の判別の結果、登録されたいずれかのアプレットに対する処理を完了しないとき、仮想マシン２０１は、処理を完了していないアプレットから一のアプレットを選択する。その後、仮想マシン２０１は一のアプレットの表示属性が可視状態に設定されているか否かを判別する（ステップＳ８０２）。
【００４２】
ステップＳ８０２の判別の結果、一のアプレットの表示属性が不可視状態に設定されているとき、仮想マシン２０１はステップＳ８０１の処理に戻る。一方、ステップＳ８０２の判別の結果、一のアプレットの表示属性が可視状態に設定されているとき、仮想マシン２０１は一のアプレットに対応付けされた背景色描画機能の設定が「有効」に設定されているか否かを判別する（ステップＳ８０３）。
【００４３】
ステップＳ８０３の判別の結果、背景色描画機能の設定が「無効」に設定されているとき、仮想マシン２０１はステップＳ８０１の処理に戻る。一方、ステップＳ８０３の判別の結果、背景色描画機能の設定が「有効」に設定されているとき、仮想マシン２０１は、一のアプレット、具体的に、アプレット３０２に設定された背景色の描画要求を画面関連制御モジュール２０３に行う（ステップＳ８０４）。次いで、画面関連制御モジュール２０３は、当該描画要求の背景色を画面バッファに設定し（ステップＳ８０５）、本処理を終了する。その後、拡張アプリ２０８は該拡張アプリ２０８の仕様に応じて拡張アプリＧＵＩの描画処理を行う。例えば、拡張アプリ２０８自身が背景色描画を実行する仕様である場合、拡張アプリ２０８は背景を含む全ての拡張アプリＧＵＩの描画処理を行う。一方、拡張アプリ２０８自身が背景色描画を実行しない仕様である場合、拡張アプリ２０８は背景以外の拡張アプリＧＵＩの描画処理を行う。これにより、ディスプレイ１１１には拡張アプリＧＵＩが表示される。
【００４４】
上述した本実施の形態によれば、拡張アプリ２０８の仕様が背景色描画を実行する仕様である旨を示す「ＦＡＬＳＥ」が属性情報２０９に設定されていない場合、仮想マシン２０１による背景色描画処理を実行する旨が設定される。これにより、拡張アプリＧＵＩを表示する際に当該拡張アプリＧＵＩの背景が描画されないといった事態が発生するのを回避することができ、もって、不完全な拡張アプリＧＵＩの表示を防止することができる。
【００４５】
また、上述した本実施の形態では、拡張アプリ２０８の仕様が背景色描画を実行する仕様である旨を示す「ＦＡＬＳＥ」が属性情報２０９に設定されていない場合は、属性情報２０９に「ＴＲＵＥ」が設定されている場合、又は拡張アプリ２０８に属性情報２０９が設定されていない場合である。これにより、拡張アプリ２０８によって拡張アプリＧＵＩの背景色描画が実行されない可能性がある場合に対して拡張アプリＧＵＩの背景を仮想マシン２０１によって確実に描画することができる。
【００４６】
さらに、上述した本実施の形態では、属性情報２０９に「ＦＡＬＳＥ」が設定されている場合、仮想マシン２０１による背景色描画処理を実行しない旨が設定される。これにより、拡張アプリ２０８が背景を含む全ての拡張アプリＧＵＩの描画処理を行う場合に仮想マシン２０１も拡張アプリＧＵＩの背景色描画を行う事態を無くすことができる。その結果、背景色描画が複数回実行されることに起因する拡張アプリＧＵＩの表示のちらつきを抑制することができる。
【００４７】
上述した本実施の形態では、アプレット３０２が背景色描画機能の設定に対応付けて登録される。これにより、登録されたアプレット３０２を用いて拡張アプリＧＵＩを表示する際に仮想マシン２０１に背景色描画を実行させる必要があるか否かを容易に特定することができる。
【００４８】
また、上述した本実施の形態では、拡張アプリは属性情報２０９を含むので、当該拡張アプリの仕様を確実に取得することができる。
【００４９】
上述した本実施の形態では、拡張アプリの属性情報２０９をタッチパネル１１０によってユーザに設定させても良い。これにより、属性情報２０９の誤設定に気付いた際に属性情報２０９を変更するために、属性情報２０９を設定し直した拡張アプリを再インストールするといった処理を行う必要をなくすことができ、もって、属性情報２０９の設定を容易に変更することができる。
【００５０】
また、上述した本実施の形態では、アプレット３０２等の描画処理を行うための各データを解析し、解析結果に基づいて拡張アプリ２０８自身が背景色描画を実行しない仕様であるか否かを判別しても良い。これにより、拡張アプリ２０８に属性情報２０９が無くても、仮想マシン２０１に背景色描画を実行させる必要があるか否かを特定することができる。
【００５１】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５２】
１００  ＭＦＰ
１０２  ＣＰＵ
１０６  表示制御部
１１０  タッチパネル
２０１  仮想マシン
２０８  拡張アプリ
３０２  アプレット
【図１】
2018022370.tif 000003
【図２】
2018022370.tif 000004
【図３】
2018022370.tif 000005
【図４】
2018022370.tif 000006
【図５】
2018022370.tif 000007
【図６】
2018022370.tif 000008
【図７】
2018022370.tif 000009
【図８】
2018022370.tif 000010