(57)【特許請求の範囲】
【請求項１】
ユーザにより操作される操作手段と、
複数のウィンドウを表示手段の表示領域内に表示させる表示制御手段と、
前記表示手段に表示されたウィンドウのサイズを前記操作手段にしたユーザの操作に応じて変更する手段であって、ユーザの操作に応じて拡大された第１ウィンドウが他の第２ウィンドウと重なる場合、前記第２ウィンドウを前記第１ウィンドウの拡大方向へ移動させた時に前記第２ウィンドウが前記表示領域内に収まる場合には、前記第２ウィンドウを前記拡大方向へ移動させ、前記第２ウィンドウが前記表示領域内に収まらない場合には、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ以上である場合、前記第２ウィンドウを前記拡大量に応じて前記拡大方向へ縮小させ、所定サイズ未満である場合には前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させるウィンドウ制御手段と
を有する情報処理装置。
【請求項２】
前記ウィンドウ制御手段は、
前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ未満である場合に前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させる際、前記表示領域内の予め定められた位置へ移動させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ウィンドウ制御手段は、
前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ未満である場合に前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させる際、前記第１ウィンドウの拡大方向と反対方向にある領域に移動させることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記表示手段に表示されているウィンドウ毎にウィンドウのサイズを記憶する記憶手段を有し、
前記ウィンドウ制御手段は、
前記第１ウィンドウの拡大開始時に該第１ウィンドウ以外のウィンドウのサイズを前記記憶手段に記憶させ、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ未満である場合に前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させる際、前記第２ウィンドウのサイズを前記記憶手段に記憶されたサイズに変更すること
を特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
コンピュータを、
ユーザにより操作される操作手段と、
複数のウィンドウを表示手段の表示領域内に表示させる表示制御手段と、
前記表示手段に表示されたウィンドウのサイズを前記操作手段にしたユーザの操作に応じて変更する手段であって、ユーザの操作に応じて拡大された第１ウィンドウが他の第２ウィンドウと重なる場合、前記第２ウィンドウを前記第１ウィンドウの拡大方向へ移動させた時に前記第２ウィンドウが前記表示領域内に収まる場合には、前記第２ウィンドウを前記拡大方向へ移動させ、前記第２ウィンドウが前記表示領域内に収まらない場合には、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ以上である場合、前記第２ウィンドウを前記拡大量に応じて前記拡大方向へ縮小させ、所定サイズ未満である場合には前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させるウィンドウ制御手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置のグラフィカルユーザインターフェースに関する。
【背景技術】
【０００２】
オペレーティングシステム上でアプリケーションプログラムを実行するコンピュータ装置の中には、複数のアプリケーションプログラムを並行して実行し、ユーザインターフェースとなるウィンドウをアプリケーション毎に表示するものがある。そして、このようなウィンドウの制御に関する技術として、例えば、特許文献１に開示されている技術がある。
特許文献１に開示されているシステムにおいては、複数のウィンドウが表示されている状態において、ユーザがあるウィンドウのサイズを拡大し、拡大されたウィンドウ（以下、第１ウィンドウという）の縁が他のウィンドウに接すると、拡大されているウィンドウに接したウィンドウ（以下、第２ウィンドウという）は、第１ウィンドウに重ならないように第１ウィンドウの拡大に伴って位置が変更される。そして、さらに第１ウィンドウが拡大され、第１ウィンドウに重ねることなく第２ウィンドウの位置を移動させることができなくなると、次に第１ウィンドウのサイズ拡大に伴って、第２ウィンドウのサイズが縮小される。特許文献１に開示されているシステムによれば、ウィンドウのサイズを変更しても、ユーザによりサイズを変更されたウィンドウは他のウィンドウは重なることがないので、ユーザは画面上にある複数のウィンドウを同時に見ることができる。
【０００３】
【特許文献１】特開２００４−９４４２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
さて、特許文献１に開示されているシステムにおいては、上述したように第１ウィンドウのサイズ変更に伴って第２ウィンドウのサイズを縮小し、第２ウィンドウを縮小できなくなると、第１ウィンドウは、それ以上サイズを拡大できなくなる。ここで、ユーザが、さらに第１ウィンドウのサイズを拡大したい場合、第１ウィンドウの始めの拡大方向とは反対の方向にウィンドウを拡大可能なスペースがあると、ユーザは、その方向にあるウィンドウの辺又は頂点部分をドラッグしてウィンドウを拡大する。しかしながら、ウィンドウの拡大に際し、ドラッグするウィンドウの辺又は頂点部分をドラッグしなおすのは、ユーザにとって面倒である。
【０００５】
本発明は、上述した背景の下になされたものであり、ユーザに手間取らせることなく、ウィンドウを重ねずに拡大させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために本発明は、ユーザにより操作される操作手段と、複数のウィンドウを表示手段の表示領域内に表示させる表示制御手段と、前記表示手段に表示されたウィンドウのサイズを前記操作手段にしたユーザの操作に応じて変更する手段であって、ユーザの操作に応じて拡大された第１ウィンドウが他の第２ウィンドウと重なる場合、前記第２ウィンドウを前記第１ウィンドウの拡大方向へ移動させた時に前記第２ウィンドウが前記表示領域内に収まる場合には、前記第２ウィンドウを前記拡大方向へ移動させ、前記第２ウィンドウが前記表示領域内に収まらない場合には、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ以上である場合、前記第２ウィンドウを前記拡大量に応じて前記拡大方向へ縮小させ、所定サイズ未満である場合には前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させるウィンドウ制御手段とを有する情報処理装置を提供する。
【０００７】
この構成においては、前記ウィンドウ制御手段は、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ未満である場合に前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させる際、前記表示領域内の予め定められた位置へ移動させてもよい。
【０００８】
また、この構成においては、前記ウィンドウ制御手段は、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ未満である場合に前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させる際、前記第１ウィンドウの拡大方向と反対方向にある領域に移動させてもよい。
【０００９】
また、この構成においては、前記表示手段に表示されているウィンドウ毎にウィンドウのサイズを記憶する記憶手段を有し、前記ウィンドウ制御手段は、前記第１ウィンドウの拡大開始時に該第１ウィンドウ以外のウィンドウのサイズを前記記憶手段に記憶させ、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ未満である場合に前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させる際、前記第２ウィンドウのサイズを前記記憶手段に記憶されたサイズに変更してもよい。
【００１０】
また、本発明は、コンピュータを、ユーザにより操作される操作手段と、複数のウィンドウを表示手段の表示領域内に表示させる表示制御手段と、前記表示手段に表示されたウィンドウのサイズを前記操作手段にしたユーザの操作に応じて変更する手段であって、ユーザの操作に応じて拡大された第１ウィンドウが他の第２ウィンドウと重なる場合、前記第２ウィンドウを前記第１ウィンドウの拡大方向へ移動させた時に前記第２ウィンドウが前記表示領域内に収まる場合には、前記第２ウィンドウを前記拡大方向へ移動させ、前記第２ウィンドウが前記表示領域内に収まらない場合には、前記第２ウィンドウを前記第１ウィンドウの拡大量に応じて前記拡大方向へ縮小した時のサイズが所定サイズ以上である場合、前記第２ウィンドウを前記拡大量に応じて前記拡大方向へ縮小させ、所定サイズ未満である場合には前記第２ウィンドウを前記第１ウィンドウと重ならない位置に移動させるウィンドウ制御手段として機能させるプログラムを提供する。
【発明の効果】
【００１１】
本発明によれば、ユーザに手間取らせることなく、ウィンドウを重ねずに拡大させることができる。
【発明を実施するための最良の形態】
【００１２】
［実施形態の構成］
図１は、本発明の実施形態に係る情報処理装置の一例である折畳み型の携帯電話機１の外観図である。図１に示したように、この携帯電話機１は、第１筐体２Ａと第２筐体２Ｂとを有する。第１筐体２Ａと第２筐体２Ｂは、各々の縁端部近傍においてヒンジ３を介して連結されている。この携帯電話機１の利用者は、図１に示すように両筐体を開いた状態で当該携帯電話機１を使用して音声通話やデータ通信を行なう。
【００１３】
第２筐体２Ｂには、利用者により操作される複数の操作キー群４や、ユーザの音声を入力するためのマイクロホン５が配設されている。また、第２筐体２Ｂの内部には、当該携帯電話機１の動作を制御するＣＰＵ（Central Processing Unit）やＣＰＵの作業エリアとして使用されるＲＡＭ（Random Access Memory）、ＣＰＵにより実行される各種プログラムを記憶する不揮発性メモリといった各種の電子部品（図示略）が収容されている。一方、第１筐体２Ａには、音声通話時の音声を出力するスピーカ６、無線基地局との間で無線通信を行なうためのアンテナ７、文字や画像を表示するディスプレイ装置８などが配設されている。
【００１４】
図２は、携帯電話機１のハードウェア構成を示したブロック図である。図２に示したように、携帯電話機１の各部はバス１０１により接続されている。通信部１０８はアンテナ７を備えており、携帯電話機１が行う通信を中継する無線基地局と音声通信やデータ通信を行う。操作部１０６は、数字や文字の入力を行うためのテンキー、発呼，クリア，終話を指示する各種キーや、メニュー操作を行うためのキー、電源のオン／オフを行うための電源キー等を備えた操作キー群４を有している。携帯電話機１のユーザは、この操作部１０６に設けられたキーを操作して携帯電話機１へ各種指示を入力する。
表示部１０７は、ディスプレイ装置８を備えており、カーソル、アプリケーションプログラムのウィンドウ、文字や画像、携帯電話機１を操作するためのメニュー画面等を表示する。この表示部１０７においては、図３に示したように表示領域の左上を原点としてＸＹ座標が定められており、図３において原点（０，０）から左右方向がＸ軸方向、原点から上下方向がＹ軸方向となっている。
【００１５】
ＲＯＭ（Read Only Memory）１０３にはＩＰＬ（Initial Program Loader）、オペレーティングシステム（以下、ＯＳと称する）の機能を実現させるＯＳプログラム、Ｊａｖａ（登録商標）の実行環境を実現するＪａｖａプラットフォームプログラムが記憶されている。記憶部１０５は、図示を省略した不揮発性メモリを有しており、ゲームの機能を実現させるアプリケーションプログラムなどの各種プログラムを記憶している。なお、これらのアプリケーションプログラムは、Ｊａｖａプログラミング言語を用いて作成されたプログラム（バイトコード）を含むＪＡＲ（Java Archive）ファイルと、当該ＪＡＲファイルに関するデータを記述したＡＤＦ（Application Descriptor File）とからなる。
【００１６】
また、記憶部１０５は、ウィンドウテーブルＴＢを記憶している。図４はウィンドウテーブルＴＢのフォーマットを例示した図である。ウィンドウテーブルＴＢは、「ウィンドウ識別子」フィールド、「頂点座標」フィールドを有しており、「ウィンドウ識別子」フィールドには、ＣＰＵ１０２がアプリケーションプログラムを実行した時に表示部１０７に表示されるウィンドウを一意に識別する識別子が格納される。また「頂点座標」フィールドの各セルには、同じレコードに格納されているウィンドウ識別子で特定されるウィンドウの各頂点の表示領域における座標が格納される。
【００１７】
携帯電話機１においては、図示せぬ電源から電力が供給されるとＲＯＭ１０３に記憶されているＩＰＬがＣＰＵ１０２により実行される。ＣＰＵ１０２がＩＰＬを実行すると、ＲＯＭ１０３に記憶されているＯＳプログラムがＣＰＵ１０２により実行され、操作部１０６からの入力や表示部１０７への画面出力といった入出力機能、記憶部１０５へのアクセス、記憶部１０５に記憶されている各種プログラムの実行、音声通信機能やデータ通信機能など、携帯電話機としての基本的な機能が実現する。
【００１８】
また、ＯＳプログラムが実行されると、携帯電話機１においては、複数のプログラムを並行して実行するマルチタスク機能やＧＵＩ（Graphical User Interface）機能が実現する。また、ＣＰＵ１０２は、ＯＳプログラムを実行した後、Ｊａｖａプラットフォームプログラムを実行する。すると、図５に例示したＪａｖａ実行環境１１４がＯＳ上に実現し、記憶部１０５の不揮発性メモリには、第１ストレージ１１５と第２ストレージ１１６とが確保される。Ｊａｖａ実行環境１１４は、クラスライブラリ１１７、ＪＶＭ（Java Virtual Machine）１１８およびＪＡＭ（Java Application Manager）１１９からなる。クラスライブラリ１１７は、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭ１１８は、Ｊａｖａアプリケーションプログラムとして提供されるバイトコードを解釈して実行する機能を有する。ＪＡＭ１１９は、Ｊａｖａアプリケーションプログラムのダウンロードやインストール、起動・終了などを管理する機能を有する。
【００１９】
第１ストレージ１１５は、ＪＡＭ１１９の管理の下にダウンロードされるＪａｖａアプリケーションプログラム（ＪａｒファイルとＡＤＦ）を格納する領域である。第２ストレージ１１６は、Ｊａｖａアプリケーションプログラムの実行の際に生成されたデータをその終了後に格納しておくための領域であり、インストールされたＪａｖａアプリケーションプログラム毎に個別の格納領域が割り当てられるようになっている。そして、あるＪａｖａアプリケーションプログラムに割り当てられた格納領域のデータは、そのＪａｖａアプリケーションプログラムが実行されている間のみ書き換え可能となっており、別のＪａｖａアプリケーションプログラムが書き換えを行い得ないようになっている。
【００２０】
このＪａｖａ実行環境１１４が実現している状態において、ユーザが操作部１０６を操作してＪａｖａアプリケーションプログラムの実行を指示すると、第１ストレージに格納されているＪａｖａアプリケーションプログラムがＪＶＭ１１８により解釈されて実行され、ユーザとアプリケーションプログラムとのインターフェースとなるウィンドウが表示部１０７に表示される。そして、携帯電話機１においては、ユーザが操作部１０６を操作することにより、ユーザからの入力が引き渡されるウィンドウを切り替えることができ、ユーザが操作部１０６を操作することにより、ウィンドウの表示位置や表示サイズを変更することができる。
【００２１】
［実施形態の動作］
次に、本実施形態において、ウィンドウのサイズを変更する時の動作について説明する。まず、ユーザが操作部１０６のキーを操作してアプリケーションプログラムの実行を携帯電話機１に対して指示すると、ＣＰＵ１０２は、実行を指示されたアプリケーションプログラムを実行する。そしてＣＰＵ１０２は、アプリケーションプログラムを実行すると、ユーザとアプリケーションプログラムとのインターフェースとなるウィンドウを表示部１０７に表示する。
ここで、ＣＰＵ１０２は、ウィンドウを表示させる際に各ウィンドウについてウィンドウを一意に識別するウィンドウ識別子を付与し、付与したウィンドウ識別子とウィンドウの頂点の座標とをウィンドウテーブルＴＢに格納する。例えば、２つのアプリケーションプログラムが実行され、図７に示したようにウィンドウＷ１とウィンドウＷ２が表示部１０７に表示された場合、ウィンドウＷ１についてはウィンドウ識別子「００１」が付与され、ウィンドウＷ２についてはウィンドウ識別子「００２」が付与される。そして、ウィンドウ識別子「００１」に対応付けて、図４に示したようにウィンドウＷ１の各頂点の座標（左上頂点の座標（Ｘ１，Ｙ１）、左下頂点の座標（Ｘ１，Ｙ２）、右上頂点の座標（Ｘ２，Ｙ１）、右下頂点の座標（Ｘ２，Ｙ２））が格納され、ウィンドウ識別子「００２」に対応付けて、ウィンドウＷ２の各頂点の座標（左上頂点の座標（Ｘ３，Ｙ３）、左下頂点の座標（Ｘ３，Ｙ４）、右上頂点の座標（Ｘ４，Ｙ３）、右下頂点の座標（Ｘ４，Ｙ４））が格納される。
【００２２】
次に、ユーザは、ウィンドウＷ１のサイズを拡大する場合、操作部１０６のキーを操作し、表示部１０７に表示されているカーソルをウィンドウＷ１の頂点部分Ｃ１に移動させる。そして、カーソルが頂点部分Ｃ１に重なった状態でキーを操作し、カーソルと共に頂点部分Ｃ１を図７中の矢印Ａ方向移動させてウィンドウＷ１を拡大する操作が行われると、ＣＰＵ１０２は図６に示した処理を行う。
【００２３】
まず、ＣＰＵ１０２は、移動後のカーソルの位置までウィンドウＷ１を拡大した時のウィンドウＷ１の各頂点の座標を、ウィンドウＷ１の各頂点の座標およびカーソルの位置座標に基づいて求める（ステップＳＡ１）。そしてＣＰＵ１０２は、サイズ拡大後のウィンドウが、他のウィンドウに重なるか否か判断する（ステップＳＡ２）。例えば、矢印Ａ方向へカーソルが移動され、図７に示した状態から図８に示したようにウィンドウＷ１が拡大される場合、ＣＰＵ１０２は、ステップＳＡ１で求めた座標（サイズ拡大後のウィンドウＷ１の各頂点の座標）が、ウィンドウＷ２の各頂点の座標を結んだ領域内にあるか否か判断する。
【００２４】
ここで、図８に示したように、サイズ拡大後のウィンドウＷ１の各頂点の座標のいずれもウィンドウＷ２の各頂点の座標より内側の領域にない場合には、ＣＰＵ１０２は、ステップＳＡ２でＮＯと判断する。ＣＰＵ１０２は、ステップＳＡ２でＮＯと判断すると、ウィンドウＷ１の各頂点の位置がステップＳＡ１で求めたサイズ拡大後のウィンドウＷ１の各頂点の座標の位置になるようにウィンドウＷ１を表示部１０７に表示させ、サイズ拡大後のウィンドウＷ１の各頂点の座標をウィンドウテーブルＴＢに格納する。（ステップＳＡ３）。
【００２５】
さらにユーザがウィンドウの頂点部分Ｃ１を矢印Ａ方向へ移動させてウィンドウＷ１を拡大する操作を続けると、ＣＰＵ１０２は、上述した動作を繰り返す。そして、ステップＳＡ１で求めた拡大後のウィンドウＷ１の頂点のいずれかが図９に示したようにウィンドウＷ２の領域内に入ると、ウィンドウＷ１とウィンドウＷ２が重なることとなる。
【００２６】
ここでＣＰＵ１０２は、ステップＳＡ１で求めた座標（サイズ拡大後のウィンドウＷ１の各頂点の座標）が、ウィンドウＷ２の各頂点の座標を結んだ領域内にあると判断すると（ステップＳＡ２；ＹＥＳ）、表示部１０７の表示領域内において、ウィンドウＷ１と重なるウィンドウＷ２を移動させることが可能であるか否か判断する（ステップＳＡ４）。
具体的には、ＣＰＵ１０２は、図１０に示したように、ウィンドウＷ２のサイズを変えないまま、サイズ変更後のウィンドウＷ１と接するようにしてウィンドウＷ２をウィンドウＷ１の拡大方向へ移動させた時のウィンドウＷ２の各頂点の座標を求める。ここで、図１０に示したようにウィンドウＷ２移動させた時にウィンドウＷ２の頂点が表示領域内に収まっていると、ＣＰＵ１０２は、ステップＳＡ４でＹＥＳと判断する。
【００２７】
ＣＰＵ１０２は、ステップＳＡ４でＹＥＳと判断すると、ウィンドウＷ１の表示サイズをステップＳＡ１で求めたサイズにして表示部１０７に表示させると共に、ウィンドウＷ２のサイズを変更せずにサイズ拡大後のウィンドウＷ１に接するようにウィンドウＷ１を表示させ、サイズ拡大後のウィンドウＷ１の各頂点の座標と、移動後のウィンドウＷ２の各頂点の座標をウィンドウテーブルＴＢに格納する（ステップＳＡ５）。
【００２８】
さらにユーザが、ウィンドウの頂点部分Ｃ１を矢印Ａ方向へ移動させてウィンドウを拡大する操作を続けるとステップＳＡ１，ＳＡ２，ＳＡ４，ＳＡ５の処理が繰り返され、ウィンドウＷ１が拡大されるのに伴ってウィンドウＷ２が矢印Ａ方向へ移動していく。そして、ウィンドウＷ１を矢印Ａ方向へ拡大させ続けると、図１１に示したようにウィンドウＷ２の縁と表示領域の縁とが接することとなる。
【００２９】
この状態から、さらにウィンドウＷ１を矢印Ａ方向へ拡大させようとすると、ＣＰＵ１０２は、サイズ拡大後のウィンドウ各頂点の座標を求めた後（ステップＳＡ１）、ステップＳＡ２でＹＥＳと判断すると、ウィンドウＷ２のサイズを変えないまま、サイズ変更後のウィンドウＷ１と接するようにしてウィンドウＷ２をウィンドウＷ１の拡大方向へ移動させた時のウィンドウＷ２の各頂点の座標を求める。ここで、サイズ変更前の状態において既にウィンドウＷ２の縁は表示領域の縁に接しているため、ウィンドウＷ２を矢印Ａ方向へ移動させるとウィンドウＷ２の頂点が表示領域内に収まらないこととなるため、ＣＰＵ１０２は、ステップＳＡ４でＮＯと判断する。
【００３０】
ＣＰＵ１０２は、ステップＳＡ４でＮＯと判断すると、ウィンドウＷ２のサイズを変更可能であるか否か判断する（ステップＳＡ６）。具体的には、ＣＰＵ１０２は、図１２に示したように、サイズ変更後のウィンドウＷ１と接するようにウィンドウＷ２のサイズを縮小した時の各頂点の座標を求める。そして、サイズ縮小後の各頂点の座標から得られるウィンドウＷ２のサイズが、予め定めらられた最小サイズ未満となっているか否かを判断する。
例えば、ウィンドウＷ１を矢印Ａ方向に拡大すると、ウィンドウＷ２をＹ軸方向に縮小させた時のウィンドウＷ２の各頂点の座標が求められる。ＣＰＵ１０２は、求めた各頂点の座標から、ウィンドウＷ２のＹ軸方向の幅を求め、求めた幅が予め定められた所定サイズ未満となっていない場合には、ステップＳＡ６でＹＥＳと判断する。ＣＰＵ１０２は、ステップＳＡ６でＹＥＳと判断すると、サイズ拡大後のウィンドウＷ１と、サイズ縮小後のウィンドウＷ２を表示部１０７に表示させ、サイズ拡大後のウィンドウＷ１の各頂点の座標と、サイズ縮小後のウィンドウＷ２の各頂点の座標をウィンドウテーブルＴＢに格納する（ステップＳＡ７）。
【００３１】
さらにユーザが、ウィンドウの頂点部分Ｃ１を矢印Ａ方向へ移動させてウィンドウを拡大する操作を続けると、ステップＳＡ１，ＳＡ２，ＳＡ４，ＳＡ６，ＳＡ７の処理が繰り返され、ウィンドウＷ１が拡大されるのに伴ってウィンドウＷ２が矢印Ａ方向へ縮小していく。そして、ウィンドウＷ１を矢印Ａ方向へ拡大させ続けると、ウィンドウＷ２のＹ軸方向の幅が、それ以上縮小させることができない最小サイズとなる。
【００３２】
この状態から、さらにウィンドウＷ１を矢印Ａ方向へ拡大させようとすると、ＣＰＵ１０２は、ステップＳＡ６でＮＯと判断する。ＣＰＵ１０２は、ステップＳＡ６でＮＯと判断すると、ウィンドウＷ２の位置を変更する（ステップＳＡ８）。具体的には、例えば、図１３に示したように、ウィンドウＷ２のサイズを維持したまま、ウィンドウＷ１と重ならない位置にウィンドウＷ２を移動させ、この時のウィンドウＷ２の各頂点の座標を求める。そして、ＣＰＵ１０２は、サイズ拡大後のウィンドウＷ１と、移動後のウィンドウＷ２を表示部１０７に表示させる（ステップＳＡ９）。
【００３３】
なお、ウィンドウＷ２を移動させる際には、移動後の位置は図１３に示した位置に限定されず、ウィンドウＷ１の拡大方向にある領域以外であれば図１３以外の他の位置であってもよい。例えば図１４に示したように、ウィンドウＷ２の位置とユーザによりサイズ変更されているウィンドウＷ１の位置を入れ替えてもよい。
また、このようにウィンドウの位置を入れ替える場合、ウィンドウＷ１が上でウィンドウＷ２が下にある状態でウィンドウＷ１が下方に拡大された時には、図１４とは反対にウィンドウＷ２が上でウィンドウＷ１が下となるようにウィンドウの位置を入れ替えてもよい。また、このようにウィンドウの位置を入れ替える場合、ウィンドウＷ１が右でウィンドウＷ２が左にある状態でウィンドウＷ１が左に拡大された時には、ウィンドウＷ２が右でウィンドウＷ１が左となるようにウィンドウの位置が入れ替え、ウィンドウＷ１が左でウィンドウＷ２が右にある状態でウィンドウＷ１が右に拡大された時には、ウィンドウＷ２が左でウィンドウＷ１が右となるようにウィンドウの位置が入れ替えてもよい。
【００３４】
次に、さらにユーザが、ウィンドウの頂点部分Ｃ１を矢印Ａ方向へ移動させてウィンドウを拡大する操作を行うと、図６に示した処理が行われる。ここでは、上述した動作によりウィンドウＷ２が移動されて、ウィンドウＷ１に重なるウィンドウがないため、ステップＳＡ１の処理が行われた後、ステップＳＡ２でＮＯと判断され、サイズ拡大後のウィンドウＷ１が表示部１０７に表示される。
【００３５】
以上説明したように本実施形態によれば、ウィンドウＷ１の拡大方向にあるウィンドウＷ２を拡大方向に移動させることもサイズ縮小させることもできなくなると、ウィンドウＷ１の拡大方向にあるウィンドウＷ２が移動されるため、ウィンドウＷ１のサイズ拡大のためにウィンドウＷ１の拡大部分を頂点部分Ｃ１から変更することなく、さらにウィンドウを拡大し続けることが可能となる。
【００３６】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
【００３７】
上述した動作を行う装置は、パーソナルコンピュータ装置や、ＰＤＡ（Personal Digital Assistants）など、複数のプログラムを並行して実行し、プログラム毎にユーザとのインターフェースとなるウィンドウを表示するものであれば、携帯電話機に限定されず、他のコンピュータ装置であってもよい。
【００３８】
上述した実施形態においては、ウィンドウＷ１の拡大時にウィンドウＷ１に接触したウィンドウＷ２のサイズを記憶部１０５に記憶させておくようにしてもよい。そして、ウィンドウＷ１を拡大させ、ステップＳＡ８の処理を行う際には記憶部１０５に記憶したサイズ変更前のウィンドウＷ２のサイズを読み出し、ステップＳＡ９でウィンドウＷ２の位置を移動させて表示する際に、ウィンドウＷ２のサイズを、この読み出したサイズに変更して表示してもよい。
【００３９】
上述したウィンドウの位置やサイズを変更する機能を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの記録媒体に記録して配布してもよい。そして、ＣＤ−ＲＯＭを読み取り可能なコンピュータ装置と携帯電話機１を接続し、コンピュータ装置でＣＤ−ＲＯＭから読み取ったプログラムを携帯電話機１の記憶部１０５にインストールするようにしてもよい。なお、プログラムを記録した記録媒体はＣＤ−ＲＯＭに限定されるものではない。フレキシブルディスク、ＤＶＤ（Digital Versatile Disk）、フラッシュＲＯＭを内蔵したＩＣカードなど他の記録媒体であってもよい。また、プログラムは、通信ネットワークに接続されたサーバ装置からダウンロードしてインストールするようにしてもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に係る携帯電話機の外観図である。
【図２】同携帯電話機のハードウェア構成を示したブロック図である。
【図３】表示部１０７の表示領域の座標を例示した図である。
【図４】同携帯電話機が記憶しているウィンドウテーブルＴＢのフォーマットを示した図である。
【図５】携帯電話機において実現するＪａｖａ実行環境の構成を示した図である。
【図６】ＣＰＵ１０２が行う処理の流れを示したフローチャートである。
【図７】表示部１０７に表示されたウィンドウを模式的に示した図である。
【図８】ウィンドウの位置とサイズを模式的に示した図である。
【図９】ウィンドウの位置とサイズを模式的に示した図である。
【図１０】ウィンドウの位置とサイズを模式的に示した図である。
【図１１】ウィンドウの位置とサイズを模式的に示した図である。
【図１２】ウィンドウの位置とサイズを模式的に示した図である。
【図１３】ウィンドウの位置とサイズを模式的に示した図である。
【図１４】ウィンドウの位置とサイズを模式的に示した図である。
【符号の説明】
【００４１】
１・・・携帯電話機、２Ａ・・・第１筐体、２Ｂ・・・第２筐体、３・・・ヒンジ、４・・・操作キー群、５・・・マイクロホン、６・・・スピーカ、７・・・アンテナ、８・・・ディスプレイ装置、１０１・・・バス、１０２・・・ＣＰＵ、１０３・・・ＲＯＭ、１０４・・・ＲＡＭ、１０５・・・記憶部、１０６・・・操作部、１０７・・・表示部、１０８・・・通信部
【図１】
0004361945.tif 000002
【図２】
0004361945.tif 000003
【図３】
0004361945.tif 000004
【図４】
0004361945.tif 000005
【図５】
0004361945.tif 000006
【図６】
0004361945.tif 000007
【図７】
0004361945.tif 000008
【図８】
0004361945.tif 000009
【図９】
0004361945.tif 000010
【図１０】
0004361945.tif 000011
【図１１】
0004361945.tif 000012
【図１２】
0004361945.tif 000013
【図１３】
0004361945.tif 000014
【図１４】
0004361945.tif 000015