(57)【要約】【課題】単一のウィンドウに複数のウィンドウ構造を切り替えて表示させることが可能なウィンドウ表示システムを利用した情報処理システムを提供する。【解決手段】イベント処理プログラムは第１ウィンドウ構造１５に関連づけられており、この第１ウィンドウ構造を基本ウィンドウ１４に付与する。イベント処理プログラム１１Ａの実行により第２ウィンドウ構造１６を基本ウィンドウ１４に付与する。基本ウィンドウを変更若しくは更新し又は基本ウィンドウに第２ウィンドウ構造１６を付与することにより、描画ウィンドウ１３を描画させる。一つの描画ウィンドウ１３で第１、第２ウィンドウ構造１５，１６を切り替えて表示する。描画ウィンドウの描画は、ウィンドウについて、サイズ変更、移動、色変更、前後位置の変更、可視化、描画領域の無効化のいずれかに起因する。【選択図】図１
2007272915.tif 000002
【特許請求の範囲】
【請求項１】
通信路を介して接続されたサーバ装置とクライアント装置とから構成される情報処理システムであって、
前記サーバ装置は、表示させる枠としてのウィンドウが複数個からなるマルチウィンドウを管理するウィンドウ管理部による管理下でウィンドウを表示するウィンドウ表示プログラムを前記クライアント装置に送信する手段を備え、
前記ウィンドウ表示プログラムは、コンピュータに、
前記ウィンドウ管理部による管理下で、表示させる枠としての１個の基本ウィンドウを生成又は獲得する基本ウィンドウ生成ステップと、
前記基本ウィンドウに表示させる表示要素の集まりであり、かつ、前記ウィンドウ管理部による管理下では第１ウィンドウに表示されるデータである第１ウィンドウ構造を生成する第１ウィンドウ構造生成ステップと、
前記基本ウィンドウに表示させる表示要素の集まりであり、かつ、前記ウィンドウ管理部による管理下では前記第１ウィンドウとは異なる第２ウィンドウに表示されるデータである第２ウィンドウ構造を生成する第２ウィンドウ構造生成ステップと、
前記第１及び第２ウィンドウ構造生成ステップによって生成された前記第１及び第２ウィンドウ構造のいずれかを前記基本ウィンドウに対応付ける対応付けステップと、
前記対応付けステップによって前記基本ウィンドウに対応付けられた前記第１又は第２ウィンドウ構造を、前記ウィンドウ管理部による管理下で、前記基本ウィンドウと共に描画する描画ステップと、
前記描画ステップを起動させるトリガとしてのイベントを発生する描画イベント発生ステップとを実行させ、
前記対応付けステップでは、予め指定したイベントが前記ウィンドウ管理部によって検出されると、前記基本ウィンドウに対応付けるウィンドウ構造を前記第１ウィンドウ構造から前記第２ウィンドウ構造に、又は、前記第２ウィンドウ構造から前記第１ウィンドウ構造に切り替え、
前記描画イベント発生ステップでは、前記対応付けステップによる切り替えが行われると、描画ステップを起動させるトリガとしてのイベントを発生し、
前記描画イベント発生ステップによってイベントが発生されると、前記ウィンドウ管理部によってイベントが検出されて前記基本ウィンドウに渡す調整がされた後に、前記描画ステップで、前記対応付けステップによる切り替えによって新たに対応付けられた前記第１又は第２ウィンドウ構造を前記基本ウィンドウと共に描画する
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面にウィンドウを表示するウィンドウ表示システムを利用した情報処理システムに関し、特に、マルチウィンドウを管理するウィンドウ管理部による管理下でウィンドウを表示するウィンドウ表示システムに関する。
【背景技術】
【０００２】
図１８は、従来の方式によるウィンドウ表示システムのフローチャートである。従来のシステムでは、まずウィンドウを作成又は獲得し（Ｓ１０１）、イベント処理プログラムを関連づけたウィンドウの構造を、作成したウィンドウに付与する（Ｓ１０２）。その後、ウィンドウを画面に描画し（Ｓ１０３）、最後に、ウィンドウはイベント発生を待機する（Ｓ１０４）。そして、キー入力やマウス操作等のイベントが発生すると（Ｓ１０５ａ）、そのイベントがウィンドウ管理部によって検出され（Ｓ１０５ｂ）、イベント処理プログラムが実行される（Ｓ１０６）。当該イベント処理プログラムが終了すると、当該ウィンドウについてはイベント待ちへ戻るに過ぎない。
【０００３】
なお、「ウィンドウの構造（ウィンドウ構造）」とは、ウィンドウに表示させる表示要素（データ）の集まりであり、「ウィンドウ構造をウィンドウに付与する」とは、ウィンドウ構造を、描画するウィンドウに対応づけることであり、「ウィンドウを描画する」とは、そのウィンドウと共に、そのウィンドウに対応づけられたウィンドウ構造を画面に表示することである。
【０００４】
このようなウィンドウ表示システムの処理方式に従う限り、異なるウィンドウ構造を表示するためには、新しく別のウィンドウを表示しなければならない。したがって、図１９の如く通常のマルチウィンドウ表示システム１１０では、メインウィンドウ１１１の他に複数のサブウィンドウ１１２を開け、これらを重ね合わせ表示したり、表示ウィンドウを切り替えている。
【０００５】
しかし、ウィンドウはメモリなどのシステム資源を大量に消費するため、多くのウィンドウを持つシステムはさらに多くのシステム資源を消費し、非効率的である。
【０００６】
一方、ＪＡＶＡ（登録商標）のＡＰＰＬＥＴの如き単一ウィンドウ表示システムでは、ブラウザの中にウィンドウを表示している。しかし、ＡＰＰＬＥＴでは単一のウィンドウを表示するのみで、複数種類のウィンドウを切り替えて表示することができない。
【０００７】
また、例えば特許文献１に記載の如く、複数のウィンドウの表示内容を切り替える方法が知られている。
【０００８】
しかし、同従来文献では、複数のウィンドウの位置が入れ替わって画面が描画されているだけであって、単一のウィンドウではウィンドウ構造を切り替えることができない。
【特許文献１】特開２００３−１８６５９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
係る従来の実情に鑑みて、本発明の目的は、単一のウィンドウに複数のウィンドウ構造を切り替えて表示させることが可能なウィンドウ表示システムを利用した情報処理システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明のウィンドウ表示システムの第１の特徴は、イベント処理プログラムは第１ウィンドウ構造に関連づけられており、この第１ウィンドウ構造を基本ウィンドウに付与し、前記イベント処理プログラムの実行により第２ウィンドウ構造を前記基本ウィンドウに付与し、前記基本ウィンドウを変更若しくは更新し又は前記基本ウィンドウに前記第２ウィンドウ構造を付与することにより、描画ウィンドウを描画させ、一つの描画ウィンドウで第１、第２ウィンドウ構造を切り替えて表示することにある。
【００１１】
同特徴によれば、イベント処理プログラムは第１ウィンドウ構造に関連づけられており、この第１ウィンドウ構造が基本ウィンドウに付与されている。ここで、例えば第１ウィンドウ構造のボタン等をクリックすることに起因する前記イベント処理プログラムの実行により第２ウィンドウ構造を前記基本ウィンドウに付与する。前記基本ウィンドウを変更若しくは更新し又は前記基本ウィンドウに前記第２ウィンドウ構造を付与することにより、前記描画ウィンドウを描画させる。故に、一つの前記描画ウィンドウで第１、第２ウィンドウ構造を切り替えて表示することが可能となる。
【００１２】
上記特徴において、描画ウィンドウの描画は、例えば、ウィンドウサイズの変更、ウィンドウの移動、ウィンドウ前後位置の変更、ウィンドウの可視化、ウィンドウ描画領域の無効化、又は、ウィンドウの色変更のいずれかに起因することとなる。
【００１３】
ここで、上記目的が達成された場合であっても、開発期間の短縮化のために、上記ウィンドウ表示システムは、複数の開発要員による並行開発が可能であることが望まれる。たとえば、上記ウィンドウ表示システム等のプログラム開発では、製作が複数のクラス又はモジュール（以下、「クラス等」という。）に分けて行われることが望ましい。
そこで、本発明のウィンドウ表示システムの第２の特徴は、上記特徴において、ウィンドウ構造を付与する対象へのポインタ又は当該対象自身（以下、「ポインタ等」という。）を保持するクラス又はモジュール（以下クラス等）と、ウィンドウ構造を生成又は変更（以下、生成又は変更を「生成等」、あるいは、単に「生成」という。）するクラス等が異なる場合に、ウィンドウ構造を生成等するクラス等に対して前記ポインタ等を渡しておくことで、前記クラス等が生成等したウィンドウ構造から他のウィンドウ構造へ切り替える場合に、渡されたポインタ等に対して生成したウィンドウ構造を付与することにある。
これによって、上記ウィンドウ表示システム等において、プログラム開発を複数の開発要員で分割して行うことが可能となる。
【００１４】
さらに、本発明のウィンドウ表示システムの特徴は、複数種のウィンドウの状態を規定ウィンドウ状態として登録し、対象ウィンドウの状態を取得ウィンドウ状態として取得し、規定ウィンドウ状態から１つの状態を選択ウィンドウ状態として選ぶと共に取得ウィンドウ状態と比較し、選択ウィンドウ状態と取得ウィンドウ状態とが同一の場合は異なる状態を規定ウィンドウ状態から選択し、選択ウィンドウ状態と取得ウィンドウ状態とが異なる場合は当該選択ウィンドウ状態を選択し、新たなウィンドウの状態として対象ウィンドウに設定することにある。
これにより、上記ウィンドウ表示システム等においてウィンドウ自体にイベントを容易に発生させることが可能となる。
【００１５】
なお、上記各特徴は、ウィンドウ表示システムの他、ウィンドウ表示方法、コンピュータプログラム及びこれを記録した記録媒体、ウィンドウ表示システムを提供する提供手段を含むサーバ、サーバとクライント装置からなる情報処理システム、並びに、コンピュータプログラム又はウィンドウを生成するプログラム開発支援装置、そのプログラム及びこれを記録した記録媒体として提供される。
【発明の効果】
【００１６】
このように、上記本発明の第１の特徴によれば、イベント処理プログラムの実行により、前記描画ウィンドウを描画させる。その結果、一つの前記描画ウィンドウで第１、第２ウィンドウ構造を切り替えて表示させることが可能なウィンドウ表示システム、ウィンドウ表示方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体、同ウィンドウ表示システムを提供する提供手段を含むサーバを提供できるようになる。
【００１７】
したがって、マルチウィンドウ表示可能なシステムにあっては、ウィンドウ数が従来よりも少なくてメモリ等のシステム資源の消費量が少ないウィンドウ表示システムを開発することが可能となる。
【００１８】
また、単一のウィンドウしか表示できない環境に本発明を適用すると、単一ウィンドウのマルチウィンドウ表示システムが構築できる。たとえば、インターネットのブラウザ内で動作するJAVA（登録商標）  APPLETに本発明を適用すると、ブラウザ内でマルチウィンドウ表示システムが構築でき、JAVA（登録商標）  APPLETの高い安全性を持ったマルチウィンドウ表示システムが容易に構築できる。
【００１９】
つまり、本発明の第１の特徴を使うことにより、より少ないウィンドウ数でウィンドウ表示システムが開発でき、より少ないメモリでウィンドウ表示システムが動作可能となる。また、仮想記憶を使うシステムの場合は、仮想記憶の使用頻度が下がりシステムの動作速度の向上が期待できる。
【００２０】
また、携帯電話や携帯情報機器のように多くのメモリを搭載していない機器、ハードディスクが無くて仮想記憶が使えない機器においても、本発明を使うとメモリ消費量の少ないウィンドウ表示システムが構築可能となり、従来では考えられなかった、より多機能なウィンドウ表示システムが構築可能になる。
【００２１】
さらに、テレビ、冷蔵庫、空調機等の家電製品に組み込まれたコンピュータがネットワークを介して接続されるようになっているが、このような家電製品に本発明を適用すると、少ないメモリで操作性の高いヒューマンインターフェースが提供可能となる。
【００２２】
インターネットのブラウザ内で動作するJAVA（登録商標）  APPLETは、ブラウザの表示領域内にひとつの表示領域を与えられるだけである。そのため、JAVA（登録商標）  APPLETではマルチウィンドウ表示システムを開発することは困難である。JAVA（登録商標） APPLETは、それ自身が動作する端末のシステムへの読み書きが厳しく制限され、通信相手のサーバのＩＰアドレスが限定されるなど安全性の高いシステムが構築可能である。また、JAVA（登録商標） APPLETは、起動時にプログラムを自動的にダウンロードするため、プログラム変更時のソフトウェアの配布作業が不要になる。ブラウザとＪＡＶＡ（登録商標）実行環境さえ動作すれば、どのようなＯＳでも、JAVA（登録商標） APPLETは動くため、端末の動作環境の管理が容易になるなど、優れた特性を持っている。しかし、JAVA（登録商標） APPLETではマルチウィンドウ表示システムの開発が困難であるために、本格的なシステムで利用されることは少ない。本発明をJAVA（登録商標）  APPLETに適用すると、安全性が高く運用費のより低い本格的なウィンドウ表示システムが開発可能となる。
【００２３】
一方、上記本発明の第２の特徴によれば、上記ウィンドウ表示システム等において、ポインタ等の受け渡しにより、イベント処理プログラムとウィンドウ構造生成部及び対応付け部を同じクラス等に含めることが可能となる。その結果、通常のマルチウィンドウ環境がウィンドウを個別に開発できるのと同様にウィンドウ構造ごとに個別に開発でき、プログラム開発を複数の開発要員で分割して行うことが可能となる。
【００２４】
つまり、本発明の第２の特徴によれば、上記ウィンドウ表示システム等を複数のクラス等に分割して行うことが可能となったため、前記ウィンドウ表示システムの開発・保守がより容易になり、かつ、複数の開発要員で前記ウィンドウ表示システムが容易に開発可能となる。そのため、前記ウィンドウ表示システムが本格的なシステム開発に適用可能となる。
【００２５】
さらに、上記本発明の第３の特徴によれば、上記ウィンドウ表示システムにおいて、ウィンドウ状態の変更を簡易に行うことができ、その結果、イベントを発生させることが可能になる。
【００２６】
つまり、本発明の上記第３の特徴によれば、上記ウィンドウ表示システム等において、ウィンドウの状態を変更させることでイベントを簡単に発生させることができる。コンピュータプログラマ及びシステムエンジニアの大多数は、ウィンドウ表示システムの内部の制御構造を詳しく知らないが、そのような人々でもウィンドウ表示システム全体の制御に悪影響を与えることなく、容易に単一のウィンドウに複数のウィンドウ構造を切り替えて表示させることが可能なウィンドウ表示システムが開発可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
【００２８】
まず、本発明に係るウィンドウ表示システムの機能について説明する。
【００２９】
図１は、本発明に係るウィンドウ表示システム５０の構成を示す機能ブロック図である。ここでは、ウィンドウ表示システム５０と共に、ウィンドウを表示するためのＬＣＤ等の表示部６０と、マルチウィンドウを管理するウィンドウ管理部７０も併せて示されている。
【００３０】
このウィンドウ表示システム５０は、ウィンドウ管理部７０による管理下で表示部６０にウィンドウを表示するウィンドウ表示システムであり、表示させる枠としての１個の基本ウィンドウ５５ａを記憶部５５に生成又は獲得する基本ウィンドウ生成部５１と、基本ウィンドウ５５ａと共に表示させる表示要素（データ）の集まりである第１ウィンドウ構造５５ｂを記憶部５５に生成する第１ウィンドウ構造生成部５２と、基本ウィンドウ５５ａと共に表示させる別の表示要素の集まりである第２ウィンドウ構造５５ｃを記憶部５５に生成する第２ウィンドウ構造生成部５３と、第１ウィンドウ構造生成部５２及び第２ウィンドウ構造生成部５３によって生成された第１ウィンドウ構造５５ｂ及び第２ウィンドウ構造５５ｃのいずれかを基本ウィンドウ５５ａに対応付ける対応付け部５４と、対応付け部５４によって基本ウィンドウ５５ａに対応付けられた第１ウィンドウ構造５５ｂ又は第２ウィンドウ構造５５ｃを前記基本ウィンドウと共に表示部６０に描画する描画部５６と、基本ウィンドウ５５ａ、第１ウィンドウ構造５５ｂ及び第２ウィンドウ構造５５ｃ等を保持するメモリ等からなる記憶部５５と、描画部５６を起動させるトリガとなるイベントを発生する描画イベント発生部５７とを備える。
【００３１】
ここで、対応付け部５４は、予め指定したイベントがウィンドウ管理部７０によって検出されると、基本ウィンドウ５５ａに対応付けるウィンドウ構造を第１ウィンドウ構造５５ｂから第２ウィンドウ構造５５ｃに、又は、第２ウィンドウ構造５５ｃから第１ウィンドウ構造５５ｂに切り替える。そして、描画部５６は、対応付け部５４による切り替えによって新たに対応付けられた第１ウィンドウ構造５５ｂ又は第２ウィンドウ構造５５ｃを基本ウィンドウ５５ａと共に描画する。
【００３２】
このとき、対応付け部５４は、好ましくは、第１ウィンドウ構造５５ｂから第２ウィンドウ構造５５ｃに対応付けを切り替える場合には、第１ウィンドウ構造５５ｂを記憶部５５から削除し、第２ウィンドウ構造生成部５３は新たな第２ウィンドウ構造５５ｃを生成する。一方、第２ウィンドウ構造５５ｃから第１ウィンドウ構造５５ｂに対応付けを切り替える場合には、第２ウィンドウ構造５５ｃを記憶部５５から削除し、第１ウィンドウ構造生成部５２は新たな第１ウィンドウ構造５５ｂを生成する。
【００３３】
図２は、このようなウィンドウ表示システム５０における記憶部５５の変化を示す図である。通常のマルチウィンドウ表示システムであれば、図２（ａ）に示されるように、画面にオープンされている全てのウィンドウ（メインウィンドウ、ウィンドウ１〜Ｎ）に対応するウィンドウ構造が記憶部５５に置かれる。これに対し、本実施の形態のウィンドウ表示システム５０によれば、メインウィンドウが表示されている場合には、図２（ｂ）に示されるように、基本ウィンドウと、メインウィンドウのウィンドウ構造だけが記憶部５５に置かれ、メインウィンドウから起動された別のウィンドウ１がオープンされた場合には、図２（ｃ）に示されるように、基本ウィンドウと、ウィンドウ１に対応するウィンドウ構造だけが記憶部５５に置かれ、ウィンドウ１から起動された別のウィンドウＮ（本実施の形態では、Ｎは２）がオープンされた場合には、図２（ｄ）に示されるように、基本ウィンドウと、ウィンドウＮに対応するウィンドウ構造だけが記憶部５５に置かれる。
【００３４】
このように、図２（ａ）と図２（ｂ）〜図２（ｄ）とを比較して分かるように、本実施の形態によれば、複数のウィンドウ構造が切り替えられて表示されるが、通常のマルチウィンドウ表示システムに比べ、記憶部５５を占有する記憶サイズが小さい。つまり、本実施の形態では、小さなサイズのメモリでも動作するマルチウィンドウ表示システムが実現されている。
【００３５】
なお、描画イベント発生部５７が発生するイベントには、例えば、ウィンドウサイズの変更、ウィンドウの移動、ウィンドウ前後位置の変更、ウィンドウの可視化、ウィンドウ描画領域の無効化、及び、ウィンドウの色変更等が含まれる。
【００３６】
また、対応付け部５４による基本ウィンドウとウィンドウ構造との対応づけの切り替えにおいては、第１ウィンドウ構造生成部５２及び第２ウィンドウ構造生成部５３は、第１ウィンドウ構造５５ｂ又は第２ウィンドウ構造５５ｃと対応付ける対象へのポインタ又は当該対象自身（「ポインタ等」）を取得して保持し、取得して保持しているポインタ等に対して、それぞれ、第１及び第２ウィンドウ構造５５ｃを生成する手法をとってもよい。
【００３７】
また、描画イベント発生部５７は、複数種のウィンドウの状態を規定ウィンドウ状態として記憶し、描画部５６によって描画されている基本ウィンドウ５５ａである対象ウィンドウの状態を取得ウィンドウ状態として記憶し、規定ウィンドウ状態から１つの状態を選択ウィンドウ状態として選ぶと共に取得ウィンドウ状態と比較し、選択ウィンドウ状態と取得ウィンドウ状態とが同一の場合は異なる状態を規定ウィンドウ状態から選択し、選択ウィンドウ状態と取得ウィンドウ状態とが異なる場合は当該選択ウィンドウ状態を選択し、対象ウィンドウのウィンドウ状態として設定することによって対象ウィンドウ５５ａにイベントを発生させ、これによって、描画部５６に第１ウィンドウ構造５５ｂあるいは第２ウィンドウ構造５５ｃを基本ウィンドウ５５ａと共に表示させる。ここで、規定ウィンドウ状態として、例えば、ウィンドウサイズが異なる複数種のウィンドウの状態が含まれる。これによって、例えば、人間には判別できない程度のわずかなサイズ（例えば、数画素以下のサイズ）が異なる複数種のウィンドウを規定ウィンドウとしておくことで、ウィンドウの外観としてはほとんど変化させることなく、イベントを発生させ、ウィンドウを切り替えることができる。
【００３８】
以下、このような本発明に係るウィンドウ表示システムをソフトウェア（コンピュータ等の情報機器内で実行されるプログラム及びデータ）で実現した場合における具体的な構成と動作について説明する。
【００３９】
図３は、本発明に係るウィンドウ表示システム、ウィンドウ表示方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体（以下、「ウィンドウ表示システム等」）の一実施形態を示すウィンドウ表示システムの構成図であり、図４はそのフローチャートである。以下、これらの図面と共に本発明の処理手順について以下説明する。
【００４０】
図３に示すように、メインメモリに記録され生成又は獲得（以下、「生成等」）された基本ウィンドウ１４が元となり、グラフィックメモリに記録することにより描画ウィンドウ１３を画面上に描画させる。ここで、「生成」とは新たにウィンドウを生成すること、「獲得」とは、例えばJAVA（登録商標）  APPLETにおいて、あらかじめ生成されたウィンドウの描画領域を取得すること等をいう。最初にウィンドウを描画したときは、イベント処理プログラム１１Ａと関連づけられたwindow0のウィンドウ構造１５持ったウィンドウが、描画ウィンドウ１３となる。イベント処理プログラム１１Ａは、イベント処理プログラム１１Ｂを関連づけたwindow1のウィンドウ構造１６を、先の生成等された基本ウィンドウ１４に付与するプログラムである。
【００４１】
なお、この図３は、本発明に係るウィンドウ表示システムの主要なソフトウェア構造を示す図であり、図１に示された機能ブロック図との対応は、次の通りである。つまり、図３の描画ウィンドウ１３は、図１の描画部５６の内部に一時的に保持され、表示部６０に表示されるイメージデータである。図３の基本ウィンドウ１４、第１ウィンドウ構造１５及び第２ウィンドウ構造１６は、それぞれ、図１の基本ウィンドウ５５ａ、第１ウィンドウ構造５５ｂ及び第２ウィンドウ構造５５ｃに対応する。図３のイベント処理プログラム１１Ａには、図１の第２ウィンドウ構造生成部５３、対応付け部５４及び描画イベント発生部５７が含まれる。同様に、図３のイベント処理プログラム１１Ｂには、図１の第１ウィンドウ構造生成部５２、対応付け部５４及び描画イベント発生部５７が含まれる。また、この図３では、図１の基本ウィンドウ生成部５１、描画部５６、表示部６０及びウィンドウ管理部７０の図示が省略されている。
【００４２】
図４に示すように、生成等された基本ウィンドウ１４（Ｓ０１）に対し、イベント処理プログラム１１Ａと関連づけられている第１ウィンドウ構造１５を付与する（Ｓ０２）。符号１２は通常のイベント処理プログラムである。そして、第１ウィンドウ構造１５を付与した基本ウィンドウ１４を画面に描画し（Ｓ０３）、基本ウィンドウ１４はイベントが発生するのを待つ（Ｓ０４）。
【００４３】
イベントが発生（Ｓ０５ａ）すると、そのイベントがウィンドウ管理部７０によって検出され（Ｓ０５ｂ）、そのイベントに対応したイベント処理プログラム１１Ａ，１２が実行される（Ｓ０６）。なお、ウィンドウ管理部７０は、各ウィンドウの表示位置や大きさ、ウィンドウの間の前後位置などを管理し、キー入力やマウスクリックなどのイベントをどのウィンドウに渡すべきかを調整するなどの役割を担っている。
【００４４】
例えば、マウスクリック等によりイベントが発生（Ｓ０５）し、イベント処理プログラム１１Ａが実行される（Ｓ０６）と、まず、基本ウィンドウ１４からwindow0のウィンドウ構造１５を削除する。次いで、イベント処理プログラム１１Ｂを関連付けたウィンドウ構造１６が基本ウィンドウ１４に付与される。window0のウィンドウ構造１５が保持する情報等の一部又は全部を保存すれば、再度window0のウィンドウ１５を表示する場合に、前記保存した情報を使い画面の情報の一部又は全部を再現することもできる。
【００４５】
当該イベント処理プログラム１１Ａのウィンドウサイズの変更などはウィンドウを描画させる。例えば、ウィンドウサイズの変更などをしたこと等により、前記でイベント処理プログラムを関連付けたウィンドウ構造を付与された描画ウィンドウ１３が描画（Ｓ０７）され、ステップＳ０４のイベント待ちになる。ウィンドウサイズの変更等が直接的に描画ウィンドウの描画を行う（Ｓ０７）仕様の他、システムの構成によっては、ウィンドウサイズの変更等が一旦イベントを発生させ（Ｓ０８）、このイベントに基づいて描画ウィンドウの描画を行う（Ｓ０７）仕様としてもよい。
【００４６】
ウィンドウサイズの変更等が行われると、描画ウィンドウ１３が、新しくなった基本ウィンドウ１４により書き換えられる。このように、ステップＳ０４〜Ｓ０７（Ｓ０８）が繰り返され、新たなイベント処理プログラム１１Ａ，１１Ｂ，１１Ｃ，１１Ｄ…が実行されるたびに、自らのウィンドウ構造を削除し、イベント処理プログラムを関連づけた新たなウィンドウ構造が順次付与され、複数種類のウィンドウ構造１５，１６等が切り替えられて描画ウィンドウ１３に表示される。また、ウィンドウサイズの変更などをしたこと等により間接的に描画ウィンドウを描画する以外に、直接ウィンドウを描画させるコマンドを実行させる、もしくは、直接ウィンドウを描画させるイベントを発生させることにより描画ウィンドウの描画を行う仕様としてもよい。
【００４７】
ウィンドウ描画は、ウィンドウサイズの変更（本明細書では、ウィンドウの最大化、最小化をも含むものとする。）、ウィンドウ移動、ウィンドウ前後位置の変更、ウィンドウの可視化、ウィンドウ描画領域の無効化、又は、ウィンドウ表示システムの色変更によりなされることとなる。
【００４８】
ここで、JAVA（登録商標）  APPLETプログラムにおいて、イベント処理プログラムの描画イベントは、ウィンドウサイズの変更、
resize(SmallWSize[1][1], SmallWSize[1][2])；
に起因して行われる。
【００４９】
また、Windows（登録商標）のCプログラムにおいて、イベント処理プログラムの描画は、ウィンドウ移動の場合、
MoveWindow( hWndBUTTON2, 20, 20, 50, 100, TRUE );
ウィンドウ前後位置の変更の場合、
SetWindowPos(hWndMain,  HWND_TOP,300,10, 600,500,SWP_SHOWWINDOW);
ウィンドウの可視化の場合、
ShowWindow(hWndBUTTON1,GnCmdShow);
ウィンドウ描画領域の無効化の場合、
InvalidateRect(hWndMain, NULL, TRUE);
ウィンドウの色変更の場合、
SetSysColors(0,COLOR_BACKGROUND,0);
にそれぞれ起因して行われる。
【００５０】
なお、以上は例示であり、これらの命令に限られるものではない。
【００５１】
図５に示す本発明の改変例では、第１、第２ウィンドウ構造に加えて第１、第２メニュー構造２１，２２が用いられる。これら第１、第２メニュー構造２１，２２は、基本ウィンドウ１４のドロップダウンメニュー１４ａ等、標準のメニューに関連づけられる。したがって、第１メニュー構造２１のメニューを実行することにより、これに関連づけられるイベント処理プログラム１１Ａが動作させられ、上述と同様に、描画ウィンドウ１３に第１、第２ウィンドウ構造１５，１６、第１、第２メニュー構造２１，２２が表示されることとなる。
【００５２】
図６は本発明の一実施例を示す構成図で、ボタン等を含むウィンドウ構造、イベント処理プログラム、呼び出しプログラム及びウィンドウ構造を付与する対象へのポインタ又は当該対象自身（以下、「ポインタ等」という。）の関連を示している。
【００５３】
第１ウィンドウ構造１５のボタン等１５ａをクリックすると、イベント処理プログラム１１Ａ１が実行される。イベント処理プログラム１１Ａ１が実行されると、呼び出しプログラム１１Ａ２が実行される。呼び出しプログラム１１Ａ２は、ポインタ等１９ａをウィンドウ構造を生成等するクラス等３２に渡し、ウィンドウ構造を付与するプログラム１１Ａ３を実行する。ウィンドウ構造を付与するプログラム１１Ａ３は、イベント処理プログラムに関連付いた第２ウィンドウ構造を基本ウィンドウ１４に付与する。なお、「ウィンドウ構造を生成等する」には、ウィンドウ構造を新規に生成するだけでなく、既存のウィンドウ構造を変更することによってウィンドウ構造を生成することも含まれる。またこの場合には、対応付け部５４で行う「対応付けを切り替える」は、切り替え前と切り替え後の対応付けが同じであることも含まれる。
【００５４】
図７は図６の改変例を示す構成図で、図６との違いはイベント処理プログラム１１Ｂ１、呼び出し処理プログラム１１Ｂ２が、ポインタ等を保持するクラス等３１にあることである。
【００５５】
第１ウィンドウ構造１５は、ポインタ等を保持するクラス等３１の外にあってもよい。また、呼び出しプログラム１１Ａ２又は１１Ｂ２を省略しイベント処理プログラム１１Ａ１又は１１Ｂ１で同等の処理を実行してもよい。
【００５６】
発明の目的のひとつは、画面を描画させるイベントを、ウィンドウ自体に発生させることが可能なウィンドウ表示システムを提供することにある。前記イベントを発生させるためにウィンドウ状態を変更することが有効であるが、ここで、ウィンドウ状態の変更を簡易に行うことが可能なシステムについて説明する。つまり、図１における描画イベント発生部５７の詳細な機能を説明する。表１は、規定ウィンドウ状態のデータ構造の一例である。ウィンドウの状態としてウィンドウサイズを例に示しているが、他のウィンドウ状態でもかまわない。
【表１】
2007272915.tif 000003
【００５７】
現在のウィンドウサイズを取得し、ウィンドウサイズ１あるいはウィンドウサイズ２のいずれかの値を選び両者を比較し、異なっていれば前記の選んだ値を新たなウィンドウサイズとしてウィンドウの状態の変更を行う。同じであれば、選ばれていないウィンドウサイズを新たなウィンドウサイズとしてウィンドウの状態を対象ウィンドウに設定する。これが引き金となってイベントが発生する。また、ウィンドウ前後位置等のように元のウィンドウ状態に戻す必要があるウィンドウ状態を使う場合は、一旦変更後、元のウィンドウ状態に再度変更すればよい。なお、ウィンドウ前後位置をウィンドウ状態とする場合は、ダミーのウィンドウを生成しておき、必ず当該ウィンドウがダミーウィンドウに隠れるようにする。
【００５８】
利用者の操作等によりウィンドウサイズが変更された場合は、ウィンドウサイズ１及び２（規定ウィンドウ状態）を変更した後、ウィンドウサイズの比較とウィンドウ状態の変更をすることも可能である。現在のウィンドウサイズとウィンドウサイズ１及びウィンドウサイズ２の差を求め、絶対値の小さい方を差異とする。現在のウィンドウサイズの方がウィンドウサイズ１及び２より大きい場合はウィンドウサイズ１及び２にその差異の絶対値を加えた値を新しい規定ウィンドウ状態とし、現在のウィンドウサイズの方がウィンドウサイズ１及び２より小さいならウィンドウサイズ１及び２からその差異の絶対値を減じた値を新しい規定ウィンドウ状態とし、規定ウィンドウ状態を変更しておく。次に上記と同様に現在のウィンドウサイズと異なるウィンドウサイズを新たなウィンドウサイズとして対象ウィンドウの状態の変更を行う。これが引き金となってイベントが発生する。
【００５９】
表２は表１の改変例を示す構成図で、表１との違いは画面の種類が複数あり、画面の種類毎に、複数のウィンドウサイズを保持していることである。例えば、入金画面では大きな画面サイズにし、出金画面では小さな画面するように、画面の種類に応じて規定ウィンドウ状態を設定できる。
【表２】
2007272915.tif 000004
【００６０】
表３は、表２の実施例に更に画面の色などのウィンドウの状態を追加したものである。画面の種類毎に、画面色など他の複数のウィンドウ状態を切り替えることができる。
【表３】
2007272915.tif 000005
【００６１】
次に、本発明のウィンドウ表示システムをJAVA（登録商標）プログラムとして実現した場合の実施例を説明する。
【００６２】
図８〜図１１は、そのプログラムのリストである。ここでは、２つのウィンドウ構造を切り替えながら表示するJAVA（登録商標）で記述された第１のサンプルプログラムのリストが示されている。
【００６３】
図８の第１６〜１９行目は、メインプログラムmain()である。
【００６４】
図８の第２４〜３４行目は、メインプログラムmain()から呼び出されるプログラムFSample()であり、基本ウィンドウを生成すると共に、初期ウィンドウを表示する。
【００６５】
図８の第３９〜５１行目は、プログラムFSample()から呼び出される、又は、イベント処理として起動されるプログラムwindow0()であり、第１ウィンドウwindow0、つまり、第１ウィンドウ構造W0を表示する。ここでは、全てのウィンドウ構造を削除した後に、第１ウィンドウ構造W0を基本ウィンドウに付与し、描画している。
【００６６】
図９の第５６〜６８行目は、イベント処理として起動されるプログラムwindow1()であり、第２ウィンドウwindow1、つまり、第２ウィンドウ構造W1を表示する。ここでは、全てのウィンドウ構造を削除した後に、第２ウィンドウ構造W1を基本ウィンドウに付与し、描画している。
【００６７】
図９の第７４〜８０行目は、メインプログラムmain()を終了するイベント処理プログラムである。
【００６８】
図９の第８５〜９１行目は、第２ウィンドウ構造W1を表示するイベント処理プログラムであり、所定のイベントが検出された場合にプログラムwindow1()を呼び出している。
【００６９】
図１０の第９５〜１０１行目は、第１ウィンドウ構造W0を表示するイベント処理プログラムであり、所定のイベントが検出された場合にプログラムwindow0()を呼び出す。
【００７０】
図１０の第１０８〜１３８行目は、第１ウィンドウ構造W0を定義するクラスである。プログラムwindow0()から呼び出される（インスタンス化される）。
【００７１】
図１１の第１４２〜１７３行目は、第２ウィンドウ構造W1を定義するクラスである。プログラムwindow1()から呼び出される（インスタンス化される）。
【００７２】
図１２は、図８〜図１１に示されたプログラムの実行例を示す図である。ここには、２つの画面Window0及びWindow1が切り替えられる様子が示されている。本図の上部に示された画面Window0は、第１ウィンドウ構造W0が表示された画面であり、下部に示された画面Window1は、第２ウィンドウ構造W1が表示された画面である。
【００７３】
このサンプルプログラムが起動されると、画面全体に画面Window0が表示され、この画面Window0において、ボタン「window1へ切替えるボタン」がクリックされると、画面全体が画面Window1に切り替わり、さらに、この画面Window1において、ボタン「window0へ切替えるボタン」がクリックされると、画面全体が画面Window0に切り替わる。
【００７４】
なお、このサンプルプログラムと図１における機能ブロックとの対応は次の通りである。つまり、基本ウィンドウ生成部５１は、図８の第２４〜３１行目に相当し、第１ウィンドウ構造生成部５２は、図８の第４３〜４４行目に相当し、第２ウィンドウ構造生成部５３は、図９の第６０〜６１行目に相当し、対応付け部５４は、図８の第４５〜４６行目及び図９の第６２〜６３行目に相当し、基本ウィンドウ５５ａは、図８の第２６〜３１行目で定義され、第１ウィンドウ構造５５ｂは、図１０の第１０８〜１３８行目で定義され、第２ウィンドウ構造５５ｃは、図１１の第１４２〜１７３行目で定義され、描画部５６は、図８の第４９〜５０行目及び図９の第６６〜６７行目等に相当し、描画イベント発生部５７は、図８の第４９〜５０行目及び図９の第６６〜６７行目である。
【００７５】
このように、本実施の形態のウィンドウ表示システムによれば、マルチウィンドウ表示システム下において、１つの画面に表示させるウィンドウ構造を複数のウィンドウ構造から選択して切り替えることができる。これによって、サイズの小さな画面や記憶容量の小さなメモリをもつ機器であっても、複数のウィンドウ構造を切り替えて単一のウィンドウとして表示することが可能なウィンドウ表示システムが実現される。
【００７６】
図１３〜図１７は、図８〜図１１に示された第１のサンプルプログラムと同一の機能を実現する第２のサンプルプログラムのリストである。この第２のサンプルプログラムは、第１のサンプルプログラムと内部構造が異なるだけであり、その実行例は、図１２に示された画面表示例と同一である。
【００７７】
図１３の第１５〜１８行目は、メインプログラムmain()である。
【００７８】
図１３の第２３〜３０行目は、メインプログラムmain()から呼び出されるプログラムFsample2()であり、基本ウィンドウを生成すると共に、初期ウィンドウを表示する。
【００７９】
図１３の第３５〜３８行目は、プログラムFsample2()から呼び出されるプログラムwindow0()であり、第１ウィンドウwindow0、つまり、第１ウィンドウ構造を表示する。
【００８０】
図１４の第４４〜図１５の９５行目は、プログラムwindow0()から呼び出される、又は、イベント処理として起動されるクラスW0であり、第１ウィンドウwindow0、つまり、第１ウィンドウ構造を表示すると共に（図１４の第５４〜８２行目）、第２ウィンドウwindow1、つまり、第２ウィンドウ構造を表示するイベント処理プログラムを定義する（図１５の第８７〜９３行目）クラスである。
【００８１】
図１６の第９９〜図１７の１５１行目は、イベント処理として生成されるクラスW1であり、第２ウィンドウwindow1、つまり、第２ウィンドウ構造を表示すると共に（図１６の第１０９〜１３９行目）、第１ウィンドウwindow0、つまり、第１ウィンドウ構造を表示するイベント処理プログラムを定義する（図１７の第１４４〜１５０行目）クラスである。
【００８２】
このような第２のサンプルプログラムによって、上記第１のサンプルプログラムと同様の機能が実現される。つまり、その実行例は、図１２に示される画面表示例となる。よって、第２のサンプルプログラムによって、上記第１のサンプルプログラムと同様に、マルチウィンドウ表示システム下において、１つの画面に表示させるウィンドウ構造を複数のウィンドウ構造から選択して切り替えることができるウィンドウ表示システムが実現される。
【００８３】
以上、本発明に係るウィンドウ表示システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施して実現される形態も本発明に含まれる。
【００８４】
なお、従来のウィンドウ開発システム（例えばＪＢbuilder）でウィンドウを作成すると、本実施の形態における基本ウィンドウとウィンドウ構造とが一体化したウィンドウが作成される。そのため、本発明のウィンドウ表示システムのようにひとつの基本ウィンドウに対して複数のウィンドウ構造を切替えて表示するウィンドウを作成するためには、手作業でプログラム等を修正する必要がある。また、ウィンドウ開発システムによっては修正ができない場合もある。よって、ウィンドウ構造を切替えて表示できるようイベント処理を行うような基本ウィンドウ及びウィンドウ構造を作る機能を、従来のウィンドウ開発システムに追加することとして、本発明を実現してもよい。
【００８５】
例えば、本発明は、上記実施の形態で説明されたウィンドウ表示システムとして実現されるだけでなく、図８〜図１１や図１３〜図１７に示されるようなプログラムを生成するプログラム（あるいは、ウィンドウ）開発支援装置として実現することもできる。そのようなプログラム開発支援装置は、例えば、図８〜図１１に示されるプログラムのうち、ユーザが定義する箇所（基本ウィンドウ、複数のウィンドウ構造、各ウィンドウ構造を表示しているときに検出すべきイベント、そのイベントが検出されたときに切り替え先となるウィンドウ構造等の定義部分、及び、通常のユーザ定義のイベント処理など）を除く箇所をテンプレートとして保持しておく。そして、それらのユーザ定義だけをユーザから取得し、取得したユーザ定義をテンプレートの対応する箇所に組み込むことによって、ソースプログラム、ソースプログラムがコンパイルされた実行形式プログラムまたはウィンドウを生成する。このような生成されたプログラムまたはウィンドウは、本実施の形態と同様の機能を有する、つまり、単一のウィンドウに複数のウィンドウ構造を切り替えて表示するアプリケーションプログラムである。
【００８６】
また、本発明は、通信路を介してクライアント装置にサービスを提供するサーバ装置であって、本実施の形態におけるウィンドウ表示システム、例えば、図８〜図１１や図１３〜図１７に示されるようなプログラムをクライアント装置に送信するサーバ装置として実現することもできる。あるいは、サーバ装置とクライアント装置とから構成される情報処理システムとして実現することもできる。これによって、クライアント装置は、本発明に係るウィンドウ表示システムを装備していなくても、サーバ装置からそのプログラムをダウンロードすることで、本発明に係るウィンドウ表示システムを装備することができる。
【産業上の利用可能性】
【００８７】
本発明は、ＬＣＤ等の画面にウィンドウを表示するウィンドウ表示システムとして、特に、携帯電話や携帯情報機器のように、多くのメモリを搭載していない機器やハードディスクが無くて仮想記憶が使えない機器等におけるウィンドウ表示システムとして利用することができる。さらに、インターネットのブラウザ内で動作するJAVA（登録商標）  APPLETに本発明を適用すると、ブラウザ内でマルチウィンドウ表示システムが構築でき、JAVA（登録商標）  APPLETの高い安全性を持ったマルチウィンドウ表示システムが容易に構築される。
【図面の簡単な説明】
【００８８】
【図１】図１は、本発明に係るウィンドウ表示システムの構成を示す機能ブロック図である。
【図２】図２は、ウィンドウ表示システムにおける記憶部の変化を説明するための図である。
【図３】図３は、ウィンドウ表示システムのソフトウェア構成を示す図である。
【図４】図４は、図３に示されたウィンドウ表示システムの処理手順を示すフローチャートである。
【図５】図５は、図３に示されたウィンドウ表示システムの改変例のソフトウェア構成を示す図である。
【図６】図６は、図３に示されたウィンドウ表示システムの詳細な構成図である。
【図７】図７は、図６に示された構成の改変例を示す構成図である。
【図８】図８は、第１のサンプルプログラムのリスト（その１）である。
【図９】図９は、第１のサンプルプログラムのリスト（その２）である。
【図１０】図１０は、第１のサンプルプログラムのリスト（その３）である。
【図１１】図１１は、第１のサンプルプログラムのリスト（その４）である。
【図１２】図１２は、第１のサンプルプログラムが実行された場合の画面表示例を示す図である。
【図１３】図１３は、第２のサンプルプログラムのリスト（その１）である。
【図１４】図１４は、第２のサンプルプログラムのリスト（その２）である。
【図１５】図１５は、第２のサンプルプログラムのリスト（その３）である。
【図１６】図１６は、第２のサンプルプログラムのリスト（その４）である。
【図１７】図１７は、第２のサンプルプログラムのリスト（その５）である。
【図１８】図１８は、従来のウィンドウ表示システムの処理手順を示すフローチャートである。
【図１９】図１９は、従来のウィンドウ表示システムのウィンドウ構成例を示す図である。
【符号の説明】
【００８９】
１１、１１Ａ、１１Ｂ、１１Ｃ、１１Ａ１、１１Ｂ１、１２    ウィンドウに登録されたイベント処理プログラム
１１Ａ２、１１Ｂ２    ウィンドウ構造を付与するプログラムを呼び出すプログラム
１１Ａ３    ウィンドウ構造を付与するプログラム
１３    画面に描画されたウィンドウ
１４    基本的な表示要素を持ったウィンドウ
１４ａ    ドロップダウンメニュー
１５    window0のウィンドウ構造
１６    window1のウィンドウ構造
１５ａ、１６ｂ    イベント処理プログラムに関連付けられたボタン等
１９ａ、１９ｂ    ポインタ等
２１    第１メニュー構造
２２    第２メニュー構造
３１    ポインタ等を保持するクラス等
３２    ウィンドウ構造を生成等するクラス等
５０    ウィンドウ表示システム
５１    基本ウィンドウ生成部
５２    第１ウィンドウ構造生成部
５３    第２ウィンドウ構造生成部
５４    対応付け部
５５    記憶部
５５ａ  基本ウィンドウ
５５ｂ  第１ウィンドウ構造
５５ｃ  第２ウィンドウ構造
５６    描画部
５７    描画イベント発生部
６０    表示部
７０    ウィンドウ管理部
【図１】
2007272915.tif 000006
【図２】
2007272915.tif 000007
【図３】
2007272915.tif 000008
【図４】
2007272915.tif 000009
【図５】
2007272915.tif 000010
【図６】
2007272915.tif 000011
【図７】
2007272915.tif 000012
【図８】
2007272915.tif 000013
【図９】
2007272915.tif 000014
【図１０】
2007272915.tif 000015
【図１１】
2007272915.tif 000016
【図１３】
2007272915.tif 000017
【図１４】
2007272915.tif 000018
【図１５】
2007272915.tif 000019
【図１６】
2007272915.tif 000020
【図１７】
2007272915.tif 000021
【図１８】
2007272915.tif 000022
【図１９】
2007272915.tif 000023
【図１２】
2007272915.tif 000024