(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを記憶した記憶手段と、
ユーザにより操作される操作手段と、
表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、
前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、
前記記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、
前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記実行手段がアプリケーションプログラムの実行を始める際に前記表示手段に複数のウィンドウが表示されている場合、前記表示手段に既に表示されている複数のウィンドウと、前記実行手段により実行されるアプリケーションプログラムに対応したウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に既に表示されている各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段と
を有する情報処理装置。
【請求項２】
前記表示制御手段は、サイズ変更回数が最大であるウィンドウのサイズを最小化しても複数のウィンドウを重複させることなく前記表示手段の表示領域内に表示できない場合には、読み出したサイズ変更回数が大であるウィンドウから順次ウィンドウのサイズを最小化し、一のウィンドウのサイズを最小化する毎に、最小化したウィンドウと、最小化されていないウィンドウと、前記実行手段により実行されるアプリケーションプログラムのウィンドウとを重複させることなく前記表示手段の表示領域内に表示可能であるか判断し、表示可能であると判断した場合には、最小化されたウィンドウと、最小化されていないウィンドウと、前記実行手段により実行されるアプリケーションプログラムのウィンドウとを前記表示手段に表示させること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
アプリケーションプログラムを記憶した記憶手段と、
ユーザにより操作される操作手段と、
表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、
前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、
前記記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、
前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記サイズ変更手段がウィンドウのサイズを変更する際に前記表示手段に複数のウィンドウが表示されている場合、表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されないウィンドウと、前記サイズ変更手段によりサイズ変更されるウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されない各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段と
を有する情報処理装置。
【請求項４】
前記表示制御手段は、サイズ変更回数が最大であるウィンドウのサイズを最小化しても複数のウィンドウを重複させることなく前記表示手段の表示領域内に表示できない場合には、読み出したサイズ変更回数が大であるウィンドウから順次ウィンドウのサイズを最小化し、一のウィンドウのサイズを最小化する毎に、最小化したウィンドウと、最小化されていないウィンドウと、前記サイズ変更手段によりサイズ変更されたウィンドウとを重複させることなく前記表示手段の表示領域内に表示可能であるか判断し、表示可能であると判断した場合には、最小化したウィンドウと、最小化されていないウィンドウと、前記サイズ変更手段によりサイズ変更されたウィンドウとを前記表示手段に表示させること
を特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記表示制御手段は、前記表示手段に表示させる複数のウィンドウが重複しないように各ウィンドウを前記表示手段に表示させることを特徴とする請求項１または請求項３に記載の情報処理装置。
【請求項６】
コンピュータを、
ユーザにより操作される操作手段と、
表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、
前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、
記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、
前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記実行手段がアプリケーションプログラムの実行を始める際に前記表示手段に複数のウィンドウが表示されている場合、前記表示手段に既に表示されている複数のウィンドウと、前記実行手段により実行されるアプリケーションプログラムに対応したウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に既に表示されている各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段
として機能させるプログラム。
【請求項７】
コンピュータを、
ユーザにより操作される操作手段と、
表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、
前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、
記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、
前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記サイズ変更手段がウィンドウのサイズを変更する際に前記表示手段に複数のウィンドウが表示されている場合、表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されないウィンドウと、前記サイズ変更手段によりサイズ変更されるウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されない各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置のグラフィカルユーザインターフェースに関する。
【背景技術】
【０００２】
オペレーティングシステム上でアプリケーションプログラムを実行するコンピュータ装置の中には、複数のアプリケーションプログラムを並行して実行し、ユーザインターフェースとなるウィンドウをアプリケーション毎に表示するものがあるが、多数のプログラムを実行し、ウィンドウの数が多くなると表示画面が繁雑になってしまう。この場合、ユーザは使用の優先順位の低いアプリケーションのウィンドウをアイコン化して表示画面を整理する。
【０００３】
しかしながら、ユーザがアイコン化するウィンドウを選び、アイコン化する操作を行うことは、ユーザにとって面倒な作業であることから、このような面倒さを解消する技術として、例えば、特許文献１に開示されているシステムが考案されている。特許文献１に開示されているシステムは、新たにウィンドウを表示する際には、既に表示されているウィンドウの数を検知する。そして、検知したウィンドウの数が所定値以上の場合、ウィンドウがフォーカスされていた時間を加味して各ウィンドウに優先順位を付し、優先順位の低いウィンドウをアイコン化する。このシステムによれば、ウィンドウ数が多くなると自動的にいずれかのウィンドウがアイコン化されるので、画面がウィンドウで繁雑になることがない。
【０００４】
【特許文献１】特開平５−２５０１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
さて、特許文献１に開示されているシステムにおいては、フォーカスされた時間が長いウィンドウの優先順位が高くなるが、ユーザにとってのアプリケーションの優先順位は、ウィンドウがフォーカスされている時間によらない場合もある。一例をあげると、例えば、パーソナルコンピュータで株取引を行うユーザにとっては、最新の株価情報を得るために、株価情報を取得して更新表示するアプリケーションの優先順位は高いものとなる。しかし、このアプリケーションが、自動で株価情報を取得して更新表示するものであると、フォーカスされて操作されなくとも株価情報を更新表示するためフォーカスされる時間は短くなる。この場合、アプリケーションの優先順位はユーザにとっては優先順位が高いものの、特許文献１に開示されている技術によれば、フォーカスされる時間が少なくなるため、システムの判断においては優先順位が低くされてしまう。すると、ウィンドウの数が所定値以上となった際、ユーザにとって優先度の高いウィンドウであるにもかかわらずアイコン化されてしまい、ユーザにとって不便となる。
【０００６】
本発明は、上述した背景の下になされたものであり、ウィンドウ数が多くなった時にユーザにとって優先度の低いウィンドウを最小化する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために本発明は、アプリケーションプログラムを記憶した記憶手段と、ユーザにより操作される操作手段と、表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、前記記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記実行手段がアプリケーションプログラムの実行を始める際に前記表示手段に複数のウィンドウが表示されている場合、前記表示手段に既に表示されている複数のウィンドウと、前記実行手段により実行されるアプリケーションプログラムに対応したウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に既に表示されている各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段とを有する情報処理装置を提供する。
【０００８】
この構成においては、前記表示制御手段は、サイズ変更回数が最大であるウィンドウのサイズを最小化しても複数のウィンドウを重複させることなく前記表示手段の表示領域内に表示できない場合には、読み出したサイズ変更回数が大であるウィンドウから順次ウィンドウのサイズを最小化し、一のウィンドウのサイズを最小化する毎に、最小化したウィンドウと、最小化されていないウィンドウと、前記実行手段により実行されるアプリケーションプログラムのウィンドウとを重複させることなく前記表示手段の表示領域内に表示可能であるか判断し、表示可能であると判断した場合には、最小化されたウィンドウと、最小化されていないウィンドウと、前記実行手段により実行されるアプリケーションプログラムのウィンドウとを前記表示手段に表示させてもよい。
【０００９】
また、本発明は、アプリケーションプログラムを記憶した記憶手段と、ユーザにより操作される操作手段と、表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、前記記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記サイズ変更手段がウィンドウのサイズを変更する際に前記表示手段に複数のウィンドウが表示されている場合、表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されないウィンドウと、前記サイズ変更手段によりサイズ変更されるウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されない各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段と有する情報処理装置を提供する。
【００１０】
この構成においては、前記表示制御手段は、サイズ変更回数が最大であるウィンドウのサイズを最小化しても複数のウィンドウを重複させることなく前記表示手段の表示領域内に表示できない場合には、読み出したサイズ変更回数が大であるウィンドウから順次ウィンドウのサイズを最小化し、一のウィンドウのサイズを最小化する毎に、最小化したウィンドウと、最小化されていないウィンドウと、前記サイズ変更手段によりサイズ変更されたウィンドウとを重複させることなく前記表示手段の表示領域内に表示可能であるか判断し、表示可能であると判断した場合には、最小化したウィンドウと、最小化されていないウィンドウと、前記サイズ変更手段によりサイズ変更されたウィンドウとを前記表示手段に表示させてもよい。
【００１１】
また、上記構成においては、前記表示制御手段は、前記表示手段に表示させる複数のウィンドウが重複しないように各ウィンドウを前記表示手段に表示させてもよい。
【００１２】
また、本発明は、コンピュータを、ユーザにより操作される操作手段と、表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記実行手段がアプリケーションプログラムの実行を始める際に前記表示手段に複数のウィンドウが表示されている場合、前記表示手段に既に表示されている複数のウィンドウと、前記実行手段により実行されるアプリケーションプログラムに対応したウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に既に表示されている各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段として機能させるプログラムを提供する。
【００１３】
また、本発明は、コンピュータを、ユーザにより操作される操作手段と、表示手段に表示されたウィンドウのサイズをユーザが前記操作手段にした操作に応じて変更するサイズ変更手段と、前記サイズ変更手段によりサイズを変更されたウィンドウのサイズ変更回数を記憶する変更回数記憶手段と、記憶手段に記憶されたアプリケーションプログラムをユーザが前記操作手段にした操作に応じて実行する実行手段と、前記実行手段により実行されたアプリケーションプログラムに対応したウィンドウを表示手段に表示させる表示制御手段であって、前記サイズ変更手段がウィンドウのサイズを変更する際に前記表示手段に複数のウィンドウが表示されている場合、表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されないウィンドウと、前記サイズ変更手段によりサイズ変更されるウィンドウとを重複させることなく前記表示手段の表示領域内に表示できない場合には、前記表示手段に表示されているウィンドウにおいて前記サイズ変更手段によりサイズ変更されない各ウィンドウのサイズ変更回数を前記変更回数記憶手段から読み出し、読み出したサイズ変更回数が最大であるウィンドウのサイズを最小化して前記表示手段に表示させる表示制御手段として機能させるプログラムを提供する。
【発明の効果】
【００１４】
本発明によれば、ウィンドウ数が多くなった時にユーザにとって優先度の低いウィンドウを最小化することができる。
【発明を実施するための最良の形態】
【００１５】
［実施形態の構成］
図１は、本発明の実施形態に係る情報処理装置の一例である折畳み型の携帯電話機１の外観図である。図１に示したように、この携帯電話機１は、第１筐体２Ａと第２筐体２Ｂとを有する。第１筐体２Ａと第２筐体２Ｂは、各々の縁端部近傍においてヒンジ３を介して連結されている。この携帯電話機１の利用者は、図１に示すように両筐体を開いた状態で当該携帯電話機１を使用して音声通話やデータ通信を行なう。
【００１６】
第２筐体２Ｂには、利用者により操作される複数の操作キー群４や、ユーザの音声を入力するためのマイクロホン５が配設されている。また、第２筐体２Ｂの内部には、当該携帯電話機１の動作を制御するＣＰＵ（Central Processing Unit）やＣＰＵの作業エリアとして使用されるＲＡＭ（Random Access Memory）、ＣＰＵにより実行される各種プログラムを記憶する不揮発性メモリといった各種の電子部品（図示略）が収容されている。一方、第１筐体２Ａには、音声通話時の音声を出力するスピーカ６、無線基地局との間で無線通信を行なうためのアンテナ７、文字や画像を表示するディスプレイ装置８などが配設されている。
【００１７】
図２は、携帯電話機１のハードウェア構成を示したブロック図である。図２に示したように、携帯電話機１の各部はバス１０１により接続されている。通信部１０８はアンテナ７を備えており、携帯電話機１が行う通信を中継する無線基地局と音声通信やデータ通信を行う。操作部１０６は、数字や文字の入力を行うためのテンキー、発呼，クリア，終話を指示する各種キーや、メニュー操作を行うためのキー、電源のオン／オフを行うための電源キー等を備えた操作キー群４を有している。携帯電話機１のユーザは、この操作部１０６に設けられたキーを操作して携帯電話機１へ各種指示を入力する。表示部１０７は、ディスプレイ装置８を備えており、文字や画像、携帯電話機１を操作するためのメニュー画面等を表示する。
【００１８】
ＲＯＭ（Read Only Memory）１０３にはＩＰＬ（Initial Program Loader）、オペレーティングシステム（以下、ＯＳと称する）の機能を実現させるＯＳプログラム、Ｊａｖａ（登録商標）の実行環境を実現するＪａｖａプラットフォームプログラムが記憶されている。記憶部１０５は、図示を省略した不揮発性メモリを有しており、音楽の再生機能を実現させるアプリケーションプログラム（プログラム名「music」）、ゲームの機能を実現させるアプリケーションプログラム（プログラム名「game_1」、「game_2」）などの各種プログラムを記憶している。なお、これらのアプリケーションプログラムは、Ｊａｖａプログラミング言語を用いて作成されたプログラム（バイトコード）を含むＪＡＲ（Java Archive）ファイルと、当該ＪＡＲファイルに関するデータを記述したＡＤＦ（Application Descriptor File）とからなる。
【００１９】
また、記憶部１０５は、変更履歴テーブルＴＢ１を記憶している。図３（ａ）は変更履歴テーブルＴＢ１のフォーマットを例示した図である。変更履歴テーブルＴＢ１は、「プログラム名」フィールド、「変更回数」フィールド、「ウィンドウサイズ」フィールドを有しており、「プログラム名」フィールドには、ＣＰＵ１０２が実行したアプリケーションプログラムのプログラム名が格納される。また「変更回数」フィールドの各セルには、同じレコードに格納されているプログラム名のプログラムが実行された時に表示部１０７に表示されるウィンドウのサイズ変更回数が格納される。また、「ウィンドウサイズ」フィールドの各セルには、同じレコードに格納されているプログラム名のプログラムが実行された時に表示部１０７に表示されるウィンドウのサイズ（ウィンドウの縦のサイズ×ウィンドウの横のサイズ）が格納される。
【００２０】
携帯電話機１においては、図示せぬ電源から電力が供給されるとＲＯＭ１０３に記憶されているＩＰＬがＣＰＵ１０２により実行される。ＣＰＵ１０２がＩＰＬを実行すると、ＲＯＭ１０３に記憶されているＯＳプログラムがＣＰＵ１０２により実行され、操作部１０６からの入力や表示部１０７への画面出力といった入出力機能、記憶部１０５へのアクセス、記憶部１０５に記憶されている各種プログラムの実行、音声通信機能やデータ通信機能など、携帯電話機としての基本的な機能が実現する。
【００２１】
また、ＯＳプログラムが実行されると、携帯電話機１においては、複数のプログラムを並行して実行するマルチタスク機能やＧＵＩ（Graphical User Interface）機能が実現する。携帯電話機１は、ユーザからの指示に応じてアプリケーションプログラムを実行すると、ユーザとアプリケーションプログラムとのインターフェースとなるウィンドウを、実行したプログラム毎に表示部１０７に表示する。そして、ユーザが操作部１０６を操作することにより、ユーザからの入力が引き渡されるウィンドウを切り替えることができ、ウィンドウにフォーカスがある状態においては、ユーザが操作部１０６を操作することにより、ウィンドウの表示位置や表示サイズを変更することができる。
【００２２】
また、ＣＰＵ１０２は、ＯＳプログラムを実行した後、Ｊａｖａプラットフォームプログラムを実行する。すると、図４に例示したＪａｖａ実行環境１１４がＯＳ上に実現し、記憶部１０５の不揮発性メモリには、第１ストレージ１１５と第２ストレージ１１６とが確保される。Ｊａｖａ実行環境１１４は、クラスライブラリ１１７、ＪＶＭ（Java Virtual Machine）１１８およびＪＡＭ（Java Application Manager）１１９からなる。クラスライブラリ１１７は、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭ１１８は、Ｊａｖａアプリケーションプログラムとして提供されるバイトコードを解釈して実行する機能を有する。ＪＡＭ１１９は、Ｊａｖａアプリケーションプログラムのダウンロードやインストール、起動・終了などを管理する機能を有する。
【００２３】
第１ストレージ１１５は、ＪＡＭ１１９の管理の下にダウンロードされるＪａｖａアプリケーションプログラム（ＪａｒファイルとＡＤＦ）を格納する領域である。第２ストレージ１１６は、Ｊａｖａアプリケーションプログラムの実行の際に生成されたデータをその終了後に格納しておくための領域であり、インストールされたＪａｖａアプリケーションプログラム毎に個別の格納領域が割り当てられるようになっている。そして、あるＪａｖａアプリケーションプログラムに割り当てられた格納領域のデータは、そのＪａｖａアプリケーションプログラムが実行されている間のみ書き換え可能となっており、別のＪａｖａアプリケーションプログラムが書き換えを行い得ないようになっている。
【００２４】
このＪａｖａ実行環境１１４が実現している状態において、ユーザが操作部１０６を操作してＪａｖａアプリケーションプログラムの実行を指示すると、第１ストレージに格納されているＪａｖａアプリケーションプログラムがＪＶＭ１１８により解釈されて実行され、プログラムに対応したウィンドウが表示部１０７に表示される。
【００２５】
［実施形態の動作］
（アプリケーションプログラムの初回実行時の動作）
ユーザが操作部１０６のキーを操作してアプリケーションプログラムの実行を携帯電話機１に対して指示すると、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムを実行する。そしてＣＰＵ１０２は、アプリケーションプログラムを実行すると、ユーザとアプリケーションプログラムとのインターフェースとなるウィンドウを表示部１０７に表示するが、ここで図５に示した処理を行う。
【００２６】
まず、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムが過去に実行されたことがあるか否かを判断する（ステップＳＡ１）。具体的には、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムのプログラム名を変更履歴テーブルＴＢ１において検索する。ここで、このプログラム名が「プログラム名」フィールドに格納されていない場合には、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムが過去に実行されていないと判断し（ステップＳＡ１；ＮＯ）、実行を指示されたアプリケーションプログラムのプログラム名とプログラムの実行により表示されるウィンドウの情報を変更履歴テーブルＴＢ１に格納する（ステップＳＡ２）。
【００２７】
例えば、実行を指示されたプログラム名が「music」である場合、ＣＰＵ１０２は、このプログラム名「music」を図３（ａ）に示したように変更履歴テーブルＴＢ１の「プログラム名」フィールドに格納し、「music」が格納されたレコードの「変更回数」フィールドのセルには、変更回数として「０」を格納する。そして、予め定められたウィンドウのサイズ（「ｅ×ｆ」）をプログラム名「music」が格納されたレコードの「ウィンドウサイズ」フィールドのセルに格納する。
【００２８】
次にＣＰＵ１０２は、表示部１０７に他のプログラムのウィンドウ（他に実行中のアプリケーションプログラムのウィンドウ）が表示されているか否かを判断する（ステップＳＡ３）。ここで、ウィンドウが一つも表示されていない場合（アプリケーションプログラムの実行を指示された時点で他にアプリケーションプログラムを実行していない場合）には、ＣＰＵ１０２はステップＳＡ３でＮＯと判断する。そして、実行を指示されたアプリケーションプログラムのウィンドウサイズを変更履歴テーブルＴＢ１から取得する（ステップＳＡ４）。ここでは、ＣＰＵ１０２は、プログラム名「music」が格納されているレコードに格納されたウィンドウサイズ「ｅ×ｆ」を変更履歴テーブルＴＢ１から取得する。そして、プログラム名「music」のプログラムのウィンドウサイズを、取得したウィンドウサイズ（ｅ×ｆ）にして表示部１０７に表示する（ステップＳＡ９）。
【００２９】
次に、ユーザが操作部１０６を操作し、プログラム名「music」のプログラムのウィンドウのサイズ変更を携帯電話機１に対して指示すると、ＣＰＵ１０２は、図６に示した処理を行い、ウィンドウのサイズを変更する処理を行う。まず、ＣＰＵ１０２は、サイズ変更を指示されたウィンドウの情報を変更履歴テーブルＴＢ１に格納する（ステップＳＢ１）。具体的には、ＣＰＵ１０２は、サイズ変更を指示されたウィンドウのプログラム名が格納されているレコードの変更回数に１を加算する。ここでは、プログラム名「music」のプログラムのウィンドウのサイズ変更が指示されたため、ＣＰＵ１０２は、変更履歴テーブルＴＢ１のプログラム名「music」のレコードに格納されている変更回数「０」に１を加算する。また、ＣＰＵ１０２は、サイズ変更後のウィンドウサイズを変更履歴テーブルＴＢ１に格納する。ここで、プログラム名「music」のプログラムのウィンドウのサイズが「ｅ×ｆ」から「ｅ１×ｆ１」に変更された場合、この変更後のウィンドウサイズ「ｅ１×ｆ１」をプログラム名「music」のレコードの「ウィンドウサイズ」のセルに格納する。この結果、変更履歴テーブルＴＢ１は図３（ｂ）に示したようになる。
【００３０】
次にＣＰＵ１０２は、サイズ変更を指示されたウィンドウ以外のウィンドウが表示部１０７に表示されているか否かを判断する（ステップＳＢ２）。ここで、サイズ変更を指示されたウィンドウ以外には、ウィンドウが一つも表示されていない場合には、ＣＰＵ１０２はステップＳＢ２でＮＯと判断する。そして、サイズ変更を指示されたプログラム名「music」のプログラムのウィンドウサイズを変更履歴テーブルＴＢ１から取得し（ステップＳＢ３）、ウィンドウサイズを取得したサイズ（ｅ１×ｆ１）にして表示部１０７に表示する（ステップＳＢ８）。
【００３１】
（複数のアプリケーション実現時の動作）
次に、アプリケーションプログラムを複数実行した時の動作について説明する。なお、以下の説明においては、図３（ｂ）に示した変更履歴テーブルＴＢ１が記憶部１０５に記憶されており、アプリケーションプログラムが１つも実行されていない状態からアプリケーションプログラムを順次実行していった場合を想定して動作の説明を行う。
【００３２】
まず、ユーザが操作部１０６のキーを操作してプログラム名「game_1」のアプリケーションプログラムの実行を携帯電話機１に対して指示すると、ＣＰＵ１０２は、図５に示した処理を行う。まず、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムが過去に実行されたことがあるか否かを判断するため、プログラム名「game_1」を変更履歴テーブルＴＢ１において検索する。ここで、図３（ｂ）に示した変更履歴テーブルＴＢ１にはプログラム名「game_1」が格納されているため、ＣＰＵ１０２によりプログラム名「game_1」が検索され、ステップＳＡ１でＹＥＳと判断される。
【００３３】
次に、ＣＰＵ１０２は、表示部１０７に他のプログラムのウィンドウが表示されているか否かを判断する（ステップＳＡ３）。ここで、ウィンドウが一つも表示されていないと（ステップＳＡ３；ＮＯ）、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムのウィンドウサイズを変更履歴テーブルＴＢ１から取得する（ステップＳＡ４）。
ここでは、ＣＰＵ１０２は、プログラム名「game_1」が格納されているレコードに格納されたウィンドウサイズ「ａ×ｂ」を変更履歴テーブルＴＢ１から取得する。そして、プログラム名「music」のプログラムのウィンドウサイズを、取得したウィンドウサイズ（ａ×ｂ）にして表示部１０７に表示する（ステップＳＡ９）。
【００３４】
次に、ユーザが操作部１０６のキーを操作してプログラム名「game_2」のアプリケーションプログラムの実行を携帯電話機１に対して指示すると、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムのプログラム名「game_2」を変更履歴テーブルＴＢ１において検索する。ここで、図３（ｂ）に示した変更履歴テーブルＴＢ１にはプログラム名「game_2」が格納されているため、ステップＳＡ１でＹＥＳと判断される。
【００３５】
次に、ＣＰＵ１０２は、表示部１０７に他のプログラムのウィンドウが表示されているか否かを判断する（ステップＳＡ３）。ここでは、既にプログラム名「game_1」のアプリケーションプログラムが実行されてウィンドウが１つ表示されているため、ＣＰＵ１０２はステップＳＡ３でＹＥＳと判断する。ＣＰＵ１０２は、ステップＳＡ３でＹＥＳと判断すると、プログラム名「game_2」が格納されているレコードに格納されたウィンドウサイズ「ｃ×ｄ」を変更履歴テーブルＴＢ１から読み出す（ステップＳＡ５）。
【００３６】
そして、ＣＰＵ１０２は、既に表示されているウィンドウと、実行を指示されたプログラムのウィンドウとを重ねずに表示部１０７に表示させられるか否かを判断する（ステップＳＡ６）。具体的には、ＣＰＵ１０２は、表示部１０７の表示領域のサイズと同じサイズの仮想表示領域を生成し、この仮想表示領域に各プログラムのウィンドウを配置していく。まず、ＣＰＵ１０２は、図７に示したようにプログラム名「game_1」のプログラムのウィンドウＷ１を仮想表示領域に配置する。次にＣＰＵ１０２は、実行を指示されたプログラム名「game_2」のプログラムのウィンドウＷ２の配置する。ここで、図７に示したように、仮想表示領域において、各プログラムのウィンドウが重ならないようにウィンドウを配置できる場合（ステップＳＡ６；ＹＥＳ）、ＣＰＵ１０２は、仮想表示領域の配置と同様にして、プログラム名「game_1」のプログラムのウィンドウと、プログラム名「game_2」のプログラムのウィンドウを表示部１０７に表示させる（ステップＳＡ９）。
【００３７】
次に、ユーザが操作部１０６のキーを操作してプログラム名「music」のアプリケーションプログラムの実行を携帯電話機１に対して指示すると、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムのプログラム名「music」を変更履歴テーブルＴＢ１において検索する。ここで、図３（ｂ）に示した変更履歴テーブルＴＢ１にはプログラム名「music」が格納されているため、ステップＳＡ１でＹＥＳと判断される。
【００３８】
次に、ＣＰＵ１０２は、表示部１０７に他のプログラムのウィンドウが表示されているか否かを判断する（ステップＳＡ３）。ここでは、既にプログラム名「game_1」のアプリケーションプログラムと、プログラム名「game_2」のアプリケーションプログラムとが実行されてウィンドウが２つ表示されているため、ＣＰＵ１０２はステップＳＡ３でＹＥＳと判断する。ＣＰＵ１０２は、ステップＳＡ３でＹＥＳと判断すると、プログラム名「music」が格納されているレコードに格納されたウィンドウサイズ「ｅ１×ｆ１」を変更履歴テーブルＴＢ１から読み出す（ステップＳＡ５）。
【００３９】
そして、ＣＰＵ１０２は、既に表示されているウィンドウと、実行を指示されたプログラムのウィンドウとを重ねずに表示部１０７に表示させられるか否かを判断する（ステップＳＡ６）。ＣＰＵ１０２は、表示部１０７の表示領域のサイズと同じサイズの仮想表示領域を生成し、この仮想表示領域に各ウィンドウを配置していく。まず、図８に示したように、ＣＰＵ１０２はプログラム名「game_1」のプログラムのウィンドウＷ１を仮想表示領域に配置し、次にプログラム名「game_2」のプログラムのウィンドウＷ２を仮想表示領域に配置する。次にＣＰＵ１０２は、実行を指示されたプログラム名「music」のプログラムのウィンドウＷ３の配置を試みる。ここで、図８に示したように、各プログラムのウィンドウが重ならないように配置できない場合には（仮想表示領域においてウィンドウで重なる部分（図８においてハッチングがかけられている部分）が生じる場合）（ステップＳＡ６；ＮＯ）、ＣＰＵ１０２は最小化するウィンドウのプログラムを選択する（ステップＳＡ７）。
【００４０】
具体的には、ＣＰＵ１０２は、先に表示しているウィンドウのプログラム名「game_1」のレコードとプログラム名「game_2」のレコードに格納されている変更回数を変更履歴テーブルＴＢ１から読み出し、実行中のプログラムにおいてウィンドウのサイズ変更回数の多いプログラムを、ウィンドウを最小化するプログラムとして選択する。例えば、図３（ｂ）に示した変更履歴テーブルＴＢ１の場合、「game_1」のプログラムのウィンドウのサイズ変更回数は「４」、「game_2」のプログラムのウィンドウのサイズ変更回数は「３」であり、プログラム名「game_1」のプログラムのウィンドウサイズ変更回数のほうが多いので、ウィンドウを最小化するプログラムとして、プログラム名が「game_1」であるプログラムが選択される。
【００４１】
ＣＰＵ１０２は、ウィンドウを最小化するプログラムを選択すると、このプログラムのウィンドウを最小化し、最小化した時のウィンドウサイズ（ａ１×ｂ１）をプログラム名「game_1」のレコードのウィンドウサイズのセルに格納する（ステップＳＡ８）。そして、ＣＰＵ１０２は、処理の流れをステップＳＡ６へ戻す。
【００４２】
ＣＰＵ１０２は、処理の流れをステップＳＡ６へ戻すと、各プログラムのウィンドウを重ねずに表示部１０７に表示させられるか否か再度判断する（ステップＳＡ６）。まず、ＣＰＵ１０２は、上述した処理で最小化されたプログラム名「game_1」のプログラムのウィンドウＷ４を仮想表示領域に配置し、次にプログラム名「game_2」のプログラムのウィンドウＷ２を仮想表示領域に配置する。そして、ＣＰＵ１０２は、実行を指示されたプログラム名「music」のプログラムのウィンドウＷ３の配置を試みる。ここで、図９に示したように、仮想表示領域において、各プログラムのウィンドウが重ならないように配置できる場合には（ステップＳＡ６；ＹＥＳ）、ＣＰＵ１０２は、仮想表示領域の配置と同様にして、各プログラムのウィンドウを表示部１０７に表示させる（ステップＳＡ９）。
【００４３】
なお、再度ステップＳＡ６へ処理を戻した時にステップＳＡ６でＮＯと判断した場合、ＣＰＵ１０２は、ウィンドウを最小化するプログラムを選択するが、ここでは、この時点でウィンドウが最小化されていないプログラムのウィンドウのサイズ変更回数のみが変更履歴テーブルＴＢ１から読み出される。そして、ウィンドウが最小化されていないプログラムの中でウィンドウのサイズ変更回数が最大のプログラムがウィンドウが最小化されるプログラムとして選択される。
【００４４】
このように本実施形態によれば、新たにウィンドウを表示する際にウィンドウが重ならないように配置できない場合には、サイズ変更回数の多いウィンドウがまず最小化される。サイズ変更回数が少ないウィンドウは、そのサイズが適切であるからサイズ変更がされないと考えられ、ウィンドウを整理する際にはそのサイズのまま残しておきたいという要望があるが、本実施形態では、このような要望に応えることができる。
【００４５】
（複数ウィンドウ表示時にウィンドウのサイズ変更をした時の動作）
次に、複数のウィンドウが表示されている状態からウィンドウのサイズを変更した時の動作について説明する。なお、以下の説明においては、図１０に示したように表示部１０７にプログラム名「game_1」のプログラムのウィンドウＷ１１、プログラム名「game_2」のプログラムのウィンドウＷ２１、プログラム名「music」のプログラムのウィンドウＷ３１が表示されており、図３（ａ）に示した変更履歴テーブルＴＢ１が記憶部１０５に記憶されている状態から、ウィンドウのサイズを変更する時の動作について説明する。
【００４６】
まず、ユーザが操作部１０６のキーを操作し、プログラム名「music」のプログラムのウィンドウＷ３１のサイズ変更を携帯電話機１に対して指示すると、ＣＰＵ１０２は、ウィンドウＷ３１のサイズを変更する。そしてＣＰＵ１０２は、サイズを変更されたウィンドウの情報を変更履歴テーブルＴＢ１に格納する（ステップＳＢ１）。具体的には、ＣＰＵ１０２は、サイズ変更を指示されたウィンドウのプログラム名が格納されているレコードの変更回数に１を加算する。ここでは、プログラム名「music」のプログラムのウィンドウＷ３１のサイズ変更が指示されたため、ＣＰＵ１０２は、変更履歴テーブルＴＢ１のプログラム名「music」のレコードに格納されている変更回数「０」に１を加算する。また、ＣＰＵ１０２は、サイズ変更後のウィンドウサイズを変更履歴テーブルＴＢ１に格納する。ここで、プログラム名「music」のプログラムのウィンドウＷ３１のサイズが「ｅ×ｆ」から「ｅ１×ｆ１」に変更された場合、この変更後のウィンドウサイズ「ｅ１×ｆ１」をプログラム名「music」のレコードの「ウィンドウサイズ」のセルに格納する。この結果、変更履歴テーブルＴＢ１は図３（ｂ）に示したようになる。
【００４７】
次にＣＰＵ１０２は、サイズ変更を指示されたウィンドウ以外のウィンドウが表示部１０７に表示されているか否かを判断する（ステップＳＢ２）。ここで、サイズ変更を指示されたウィンドウ以外にも、表示部１０７にはウィンドウが表示されているため、ＣＰＵ１０２はステップＳＢ２でＹＥＳと判断する。そして、サイズ変更を指示されたプログラム名「music」のプログラムのウィンドウサイズ（ｅ１×ｆ１）を変更履歴テーブルＴＢ１から取得する（ステップＳＢ４）。
【００４８】
次にＣＰＵ１０２は、サイズ変更後のウィンドウＷ３２と他のウィンドウとを重ねずに表示部１０７に表示させられるか否かを判断する（ステップＳＢ５）。具体的には、ＣＰＵ１０２は、表示部１０７の表示領域のサイズと同じサイズの仮想表示領域を生成し、この仮想表示領域に各ウィンドウを配置していく。まず、ＣＰＵ１０２は、サイズ変更がされなかったプログラム名「game_1」のプログラムのウィンドウＷ１１を、仮想表示領域に配置し、次に、サイズ変更がされなかったプログラム名「game_2」のプログラムのウィンドウＷ２１を仮想表示領域へ配置する。次にＣＰＵ１０２は、プログラム名「music」のプログラムのウィンドウＷ３２の仮想表示領域への配置を試みる。ここで、図１１に示したように、サイズ変更がされたプログラム名「music」のプログラムのウィンドウＷ３２を配置した場合に、各プログラムのウィンドウが重ならないように配置できない場合には（仮想表示領域においてウィンドウで重なる部分（図１１においてハッチングがかけられた部分）が生じる場合）（ステップＳＢ５；ＮＯ）、ＣＰＵ１０２は最小化するウィンドウのプログラムを選択する（ステップＳＢ６）。
【００４９】
具体的には、ＣＰＵ１０２は、サイズ変更がされていないプログラムのプログラム名「game_1」のレコードとプログラム名「game_2」のレコードに格納されている変更回数を変更履歴テーブルＴＢ１から読み出し、実行中のプログラムにおいてウィンドウサイズの変更回数の多いプログラムを最小化するプログラムとして選択する。例えば、図３（ｂ）に示した変更履歴テーブルＴＢ１の場合、「game_1」のプログラムのウィンドウのサイズ変更回数は「４」、「game_2」のプログラムのウィンドウのサイズ変更回数は「３」であり、プログラム名「game_1」のプログラムのウィンドウサイズ変更回数のほうが多いので、ウィンドウを最小化するプログラムとして、プログラム名が「game_1」であるプログラムが選択される。
【００５０】
ＣＰＵ１０２は、ウィンドウを最小化するプログラムを選択すると、このプログラムのウィンドウを最小化し、最小化した時のウィンドウサイズ「ａ１×ｂ１」をプログラム名「game_1」のレコードのウィンドウサイズのセルに格納する（ステップＳＢ７）。そして、ＣＰＵ１０２は処理の流れをステップＳＢ５へ戻す。
【００５１】
ＣＰＵ１０２は、処理の流れをステップＳＢ５へ戻すと、各プログラムのウィンドウを重ねずに表示部１０７に表示させられるか否か再度判断する（ステップＳＢ５）。まず、ＣＰＵ１０２は、図１２に示したように、上述した処理でウィンドウが最小化されたプログラム名「game_1」のプログラムウィンドウＷ１２を仮想表示領域に配置し、次にプログラム名「game_2」のプログラムのウィンドウＷ２１を仮想表示領域に配置する。そして、ＣＰＵ１０２は、プログラム名「music」のプログラムのウィンドウＷ３２の配置を試みる。ここで、図１２に示したように、仮想表示領域において、各プログラムのウィンドウが重ならないように配置できる場合には（ステップＳＢ５；ＹＥＳ）、ＣＰＵ１０２は、仮想表示領域の配置と同様にして、各プログラムのウィンドウを表示部１０７に表示させる（ステップＳＢ８）。
【００５２】
なお、再度ステップＳＢ５へ処理を戻した時にステップＳＢ５でＮＯと判断した場合、ＣＰＵ１０２は、ウィンドウを最小化するプログラムを選択するが、ここでは、この時点でウィンドウが最小化されていないプログラムのウィンドウのサイズ変更回数のみが変更履歴テーブルＴＢ１から読み出される。そして、ウィンドウが最小化されていないプログラムの中でウィンドウのサイズ変更回数が最大のプログラムがウィンドウが最小化されるプログラムとして選択される。
【００５３】
以上説明したように本実施形態によれば、複数のウィンドウが表示されている状態においてウィンドウのサイズが変更された時に、ウィンドウが重ならないように配置できない場合には、サイズ変更回数の多いウィンドウがまず最小化される。サイズ変更回数が少ないウィンドウは、そのサイズが適切であるからサイズ変更がされないと考えられ、ウィンドウを整理する際には、そのサイズのまま残しておきたいという要望があるが、本実施形態では、このような要望に応えることができる。
【００５４】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
【００５５】
上述した動作を行う情報処理装置は、パーソナルコンピュータ装置や、ＰＤＡ（Personal Digital Assistants）など、複数のプログラムを並行して実行し、プログラム毎にユーザとのインターフェースとなるウィンドウを表示するものであれば、携帯電話機に限定されず、他のコンピュータ装置であってもよい。
【００５６】
上述した実施形態においては、ステップＳＡ８の処理が終了した後、ステップＳＡ６に処理の流れを戻すのではなく、ステップＳＡ９へ処理の流れを変更するようにしてもよい。また、上述した実施形態においては、ステップＳＢ７の処理が終了した後、ステップＳＢ５に処理の流れを戻すのではなく、ステップＳＢ８へ処理の流れを変更するようにしてもよい。
【００５７】
上述した実施形態においては、サイズの変更回数の多いウィンドウが最小化されているが、最も小さい所定のサイズに最小化するのではなく、ウィンドウをアイコン（プログラムの機能を表わす絵柄）化して表示するようにしてもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係る携帯電話機の外観図である。
【図２】同携帯電話機のハードウェア構成を示したブロック図である。
【図３】同携帯電話機が記憶している変更履歴テーブルＴＢ１のフォーマットを示した図である。
【図４】携帯電話機において実現するＪａｖａ実行環境の構成を示した図である。
【図５】ＣＰＵ１０２が行う処理の流れを示したフローチャートである。
【図６】ＣＰＵ１０２が行う処理の流れを示したフローチャートである。
【図７】仮想表示領域におけるウィンドウの配置を示した図である。
【図８】仮想表示領域におけるウィンドウの配置を示した図である。
【図９】仮想表示領域におけるウィンドウの配置を示した図である。
【図１０】表示部１０７におけるウィンドウの配置例を示した図である。
【図１１】仮想表示領域におけるウィンドウの配置を示した図である。
【図１２】仮想表示領域におけるウィンドウの配置を示した図である。
【符号の説明】
【００５９】
１・・・携帯電話機、２Ａ・・・第１筐体、２Ｂ・・・第２筐体、３・・・ヒンジ、４・・・操作キー群、５・・・マイクロホン、６・・・スピーカ、７・・・アンテナ、８・・・ディスプレイ装置、１０１・・・バス、１０２・・・ＣＰＵ、１０３・・・ＲＯＭ、１０４・・・ＲＡＭ、１０５・・・記憶部、１０６・・・操作部、１０７・・・表示部、１０８・・・通信部
【図１】
0004342578.tif 000002
【図２】
0004342578.tif 000003
【図３】
0004342578.tif 000004
【図４】
0004342578.tif 000005
【図５】
0004342578.tif 000006
【図６】
0004342578.tif 000007
【図７】
0004342578.tif 000008
【図８】
0004342578.tif 000009
【図９】
0004342578.tif 000010
【図１０】
0004342578.tif 000011
【図１１】
0004342578.tif 000012
【図１２】
0004342578.tif 000013