JP2003242126A - スケジュール表提示システム及びスケジュール表提示方法,並びに記憶媒体 - Google Patents

スケジュール表提示システム及びスケジュール表提示方法,並びに記憶媒体

Info

Publication number
JP2003242126A
JP2003242126A JP2002040859A JP2002040859A JP2003242126A JP 2003242126 A JP2003242126 A JP 2003242126A JP 2002040859 A JP2002040859 A JP 2002040859A JP 2002040859 A JP2002040859 A JP 2002040859A JP 2003242126 A JP2003242126 A JP 2003242126A
Authority
JP
Japan
Prior art keywords
time
schedule
traffic
display
minute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002040859A
Other languages
English (en)
Inventor
Naotaka Kato
直孝 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2002040859A priority Critical patent/JP2003242126A/ja
Publication of JP2003242126A publication Critical patent/JP2003242126A/ja
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Electric Clocks (AREA)
  • Calculators And Similar Devices (AREA)

Abstract

(57)【要約】 【課題】 アナログ時計上の分目盛り近傍にスケジュー
ルを表示するシステムにおいて, アナログ時計上のスケ
ジュールを容易に作成, 編集, 保存する. スケジュール
の文字列を読みやすくし, スケジュール時間に外部シス
テムを起動する. 【解決手段】 アナログ時計上のスケジュールデータを
作成, 編集, 保存するためのGUIプログラムを提供する.
スケジュールの表示文字数をユーザが設定した値に制
限する, また, アナログ時計の外側から中心に向かうス
ケジュール文字列の方向の正・逆を分目盛りの位置によ
り変える. 外部システムにプログラム引数としてスケジ
ュール情報をわたして外部プログラムの機能を起動す
る.

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は, コンピュータ・デ
ィスプレイ上で実現する, 現在時刻を表示できる時刻表
示システム及び方法に係わり, 特に, コンピュータ画面
上の短針と長針を表示することにより現在時刻をアナロ
グ表示することができるタイプの時刻表示システム及び
方法に関する. 更に詳しくは, 本発明は, 現在時刻とあ
わせて, イベントや列車や個人のスケジュール情報を,
表示することができる時刻表示システム及び方法に関す
る.
【0002】更に詳しくは, 本発明は, アナログ時計の
分目盛りの近傍に表示するデータの作成, 編集, 保存方
法, およびアナログ時計の分目盛りの近傍に表示する文
字列の表示方法, およびスケジュールの時間になった時
の外部プログラム呼び出し方法, および, スケジュール
からは独立したメッセージの表示方法に関する.
【0003】
【従来の技術】昨今の技術革新に伴い, デスクトップ
型, タワー型, ノートブック型など各種パーソナル・コ
ンピュータ(PC)が開発され市販されている.
【0004】これらコンピュータ・システムは, 総じ
て, 定型的な処理や, 繰り返し演算を必要とする処理を
得意とし, 作成・編集した各種のデータ・ファイルを好
適に保存・管理することができる. 例えば, ワープロ,
表計算, 通信など所望のアプリケーション・プログラム
をシステム上にインストールして, 各ユーザのニーズに
特化させた作業環境すなわちデスクトップを構築するこ
とができる.
【0005】最近では, 描画機能の充実とも相俟って,
GUI(グラフィカル・ユーザ・インターフェース)が
充実してきており, キーボード入力だけでなく, マウス
などの座標入力が許されている. すなわち, ユーザは,
デスクトップ上のアイコンやウィンドウなどの表示オブ
ジェクトをマウス・カーソルで直感的に操作(例えば,
クリックやドラッグ・アンド・ドロップ)することによ
り, 所望のコンピュータ処理を指示することができる.
もはやユーザは, 難解なコマンド名を覚える必要はな
く, コマンドをキー入力する煩わしさからも解放されて
いる.
【0006】ユーザは, 日常業務を支援するようなアプ
リケーションをデスクトップ上に配設することもでき
る. この種のアプリケーションには, 例えば, カレンダ
ーや住所録などのPIM(Personal Information Manag
er)ソフト, 現在時刻をアナログ若しくはデジタル時計
形式でビットマップ表示するシステム時計, 電車の乗換
案内や列車の発着時刻表などが挙げられる.
【0007】コンピュータのデスクトップ画面上で電車
の乗換案内や時刻表など, 列車の発着情報を提供するア
プリケーションに関しては, CDなどの記録メディアや
インターネットのWebサイトなどを媒介として, 既に
数多の製品が有料又は無料で公開されている.スケジュ
ール管理ソフトウェアとしては, ロータスオーガナイザ
ーやマイクロソフトアウトルックなどが挙げられる. し
かし, それらのスケジュールデータをデスクトップ上に
表示したアナログ時計の分目盛りの近傍に表示すること
はできない.
【0008】電車の乗換案内としては, 例えば, ジョル
ダン(JORUDAN)株式会社の「乗換案内」が広く
知られている. この「乗換案内」は, 各地域毎の鉄道・
地下鉄の路線マップをデスクトップ画面上に表示すると
ともに, 該路線マップ上で出発地と目的地のユーザ入力
を受け付け, 該当する乗り継ぎ経路の候補とその料金や
所要時間を演算して, 該演算結果としての各経路のデー
タをポップアップ表示することができる. しかし, それ
らのデータをデスクトップ上に表示したアナログ時計の
分目盛りの近傍に表示することはできない.
【0009】また, 列車の発着時刻をデスクトップ画面
上で提供する他のソフトウェア製品の例として, 「Di
aClock」(商標)が挙げられる. このDiaCl
ockとは, デスクトップ画面上にアナログ時計を模し
た時計表示ウィンドウを用意するとともに, 該アナログ
時計の該当する分目盛近傍に, 最寄駅(又はユーザが指
定した駅)における列車の発車時刻アイコンをインジケ
ートするものである.
【0010】時計表示ウィンドウや発車時刻アイコン
は, コンピュータのVGA(Video Graphic Array)以
上の描画機能を用いて描画されるので, 特急, 急行, 各
駅などの種別に応じて発車時刻アイコンの色や絵柄を変
えることができる. また, コンピュータの演算能力を利
用すれば, 列車の通過に応答して, 該当する発車時刻ア
イコンの表示形態を切り換えたり, ビープ音などのユー
ザ通知を行うことができる. さらに, 駅までの所要時刻
を加味して発車時刻アイコンを表示するようにすること
もできる. デスクトップの一部領域にDiaClock
を配設することができる. したがって, ユーザは, 文書
編集その他の通常業務を行いながら, 時折DiaClo
ckの表示内容を観察することで, 列車の発車時刻に間
に合うギリギリの時間まで業務を続行することができ
る.
【0011】なお, DiaClockは, インターネッ
ト経由で有料で提供されている. (http://www2u.biglo
be.ne.jp/~clock/).
【0012】DiaClockは, アナログ時計形式の
表示画面上に発車時刻アイコンをインジケートするもの
であり, ユーザは一目で発車時刻を把握することができ
る.また, 円環状に分目盛が整列したアナログ時計は日
常生活に深く浸透しており,ユーザに違和感なく発車時
刻を通知することができる.
【0013】ところが, DiaClockにおいては,
データをテキストファイルで準備せねばならず, テキス
トデータを準備するために, データの意味を規定するテ
キストタグを使用してテキストファイルを準備する必要
があった.
【0014】また, DiaClockでは, また, 列車
のスケジュールデータをアナログ時計上に表示したまま
編集し表示し保存する事はできない. また, 表示する文
字の文字数は1文字であり, 複数の文字を含む文字列を
表示する事はできない.
【0015】更には, DiaClockでは, 列車の発
車時刻やスケジュールの時間にはBeep音を鳴らすことは
出来たが, 外部プログラムを起動して音声を出したり,
他のプログラムを起動するタイマーとして使用すること
はできなかった. また, 任意のメッセージは表示できた
が, ロードするテキストファイルを他のテキスト編集プ
ログラムにより編集する必要があった.
【0016】
【発明が解決しようとする課題】本発明の目的は, コン
ピュータ画面上で実現する, 現在時刻を短針と長針によ
りアナログ表示し, 分目盛りの近傍にスケジュールデー
タをアイコンや文字列で表示するタイプのスケジュール
表示機能をより使いやすくする方法を提供することにあ
る.
【0017】本発明の更なる目的は, コンピュータ画面
上で現在時刻を短針と長針によりアナログ表示し, 分目
盛りの近傍にスケジュールデータをアイコンや文字列で
表示するタイプのスケジュール表示システムにおけるデ
ータの作成, 編集, 保存を容易に行える, すぐれたスケ
ジュール提示システム及びスケジュール提示方法を提供
することにある.
【0018】本発明の更なる目的は, アナログ時計の分
目盛りの近傍に表示する文字列の文字数をユーザが指定
でき, 文字列が見やすいように自動的に出力方向を変化
する, すぐれたスケジュール提示システム及びスケジュ
ール提示方法を提供することにある.
【0019】本発明の更なる目的は, アナログ時計の分
目盛りの近傍に表示するスケジュールデータが現在時刻
または, ある一定時間先の時刻と一致したときに, 外部
プログラムを呼び出すことができる, すぐれたスケジュ
ール提示システム及びスケジュール提示方法を提供する
ことにある.
【0020】本発明の更なる目的は, アナログ時計の分
目盛りの近傍に表示するスケジュールデータとは独立し
た, 広告や案内等のメッセージを登録及び編集すること
ができる, すぐれたスケジュール提示システム及びスケ
ジュール提示方法を提供することにある.
【0021】
【課題を解決するための手段及び作用】本発明は, 上記
課題を参酌してなされたものであり, その第1の側面
は, 少なくともプロセッサと記憶装置と入力装置とデ
ィスプレイとリアル・タイム・クロックを含むコンピュ
ータ・システムのディスプレイ・スクリーン上で, 短針
および長針を用いて時刻をアナログ表示し, 前記リアル
・タイム・クロックが発生する現在時刻を読み取り, 時
分に対応する複数の分目盛りを円環状に並べた時刻表示
パネルを前記ディスプレイ・スクリーン上に表示し, 現
在時刻の時情報及び分情報に対応する回転位置を指示す
る短針及び長針の各々を, 前記時刻表示パネル上に表示
するための時刻表示システムと, 所定のスケジュール設
定時刻を分単位で記憶するためのスケジュール記憶シス
テムと, 前記計時手段が読み取った現在時刻の時情報が
示す1時間分に該当するスケジュール設定時刻を前記ス
ケジュール記憶システムから読み出すシステムと, 前記
読み出しシステムによって読み出された1時間分の各ス
ケジュール設定時刻を示すアイコンと各スケジュール内
容を示す文字列を, 前記時刻表示パネル上の対応する分
目盛り近傍に表示するスケジュール表示システムにおい
て, 前記スケジュール記憶システム中に登録するデータ
を, 新たに作成する手段, および前記スケジュール記憶
システム中に登録されているデータを編集する手段, お
よび前記スケジュール記憶システム中に登録されている
データのファイルへの保存を行う手段と, を具備するこ
とを特徴とするスケジュール提示システムである.
【0022】本発明の第1の側面に係わるスケジュール
表示システムにおいて, データの作成および編集時にデ
ータの更新を直ちにアナログ時計上に反映してもよい.
直ちに反映することにより, データを保存しなければ,
一時的にデータを変更したスケジュールとして使用する
ことができる. 第1の側面に係わるスケジュールシステ
ムにより, ユーザはテキストファイル上でスケジュール
の項目を示すタグを使用してスケジュールデータを準備
しなくても, GUI(グラフィカル・ユーザーインター
フェイス)の入力欄にデータを入力するだけで, アナロ
グ時刻表上のスケジュールデータを容易に作成できる.
【0023】また, ユーザがアナログ時計上にアイコン
や文字列で表示するスケジュールのデータを容易に編集
できるばかりでなく, 他人が準備した列車の時刻表を編
集したり, 列車の時刻表が必要の無い時間帯には学校の
時間割を表示したり, 個人のスケジュール表と時刻表の
融合が可能となる.
【0024】また, 前記作成, 編集, 保存するスケジュ
ールデータには, 祝日・祭日といった休日情報や, スケ
ジュールを表示するアイコンや文字列の色などの情報を
含んでいてもよい.
【0025】また, 本発明の第2の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し, 前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと, 所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶システムと, 前記計時
手段が読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出すシステムと, 前記読み出しシステム
によって読み出された1時間分の各スケジュール設定時
刻を示すアイコンと各スケジュール内容を示す文字列
を, 前記時刻表示パネル上の対応する分目盛り近傍に表
示するスケジュール表示システムにおいて, 前記文字列
の文字数の上限を上記記憶装置に記憶するための手段
と, 前記文字数の上限を上記記憶装置から読み出す手段
と, 前記読み出された文字数の上限までを, 前記時刻表
示パネル上の対応する分目盛り近傍に円環の中心に向か
って順方向の出力順または逆方向の出力順で文字列を表
示する手段と, を具備することを特徴とするスケジュー
ル提示システムである.
【0026】本発明の第2の側面に係わるスケジュール
表示システムにおいて, 文字列は文字数によって大きさ
を変化させてもよい. また, 中心方向を順方向として,
すべて同じ方向で出力してもよい. 本発明の第2の側面
に係わるスケジュール表示システムによって, 文字列は
読みやすくなり, ユーザの要求に合わせてスケジュール
項目を分目盛りの近くに表示できる. 文字列の配列順序
を変更できることにより, 分目盛りが8分から37分ま
でを中心から外側へ, 38分から7分までを外側から中
心へ文字列を描画すると, おおまかには, 左から右, 上
から下に向かって文字列は並ぶ. また, ユーザによる文
字数の変更機能により, ユーザーの文字数に対する必要
性, およびアナログ時計の見栄えをユーザーの好みに合
わせることができる.
【0027】また, 言語の違いにより出力方向をいろい
ろに変えてもよい.
【0028】また, 本発明の第3の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し,前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと,所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶システムと, 前記計時
手段が読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出すシステムと,前記読み出しシステム
によって読み出された1時間分の各スケジュール設定時
刻を示すアイコンと各スケジュール内容を示す文字列
を, 前記時刻表示パネル上の対応する分目盛り近傍に表
示するスケジュール表示システムにおいて, 前記スケジ
ュール記憶システムに登録したスケジュール時刻が, 現
在時刻情報と一致するか, あるいは現在時刻より指定さ
れた時間前の時刻と一致したときに, スケジュール情報
とともに, 外部システムを呼び出す手段, を具備するこ
とを特徴とするスケジュール提示システムである.
【0029】本発明の第3の側面に係わるスケジュール
表示システムにおいて, 外部システムは単に他のプログ
ラムでもよい. また, 呼び出すプログラムのArgum
entとして, 列車の発車時刻やスケジュールのタイト
ルといったスケジュール情報を渡してもよい. 外部プロ
グラムは受け取ったスケジュール情報をもとに, 音声に
よりスケジュールの案内を行ってもよい. このスケジュ
ール情報をArgument等により他のプログラムに
渡せることにより, アナログ時計上のスケジュール表示
とリンクした柔軟性に富んだタイマースイッチとしてこ
のシステムは動作できる.
【0030】また, 内部システムにより音を鳴らしたり
する場合には, 本システム内に含まれる機能しかユーザ
は使えないが, 外部システムを呼び出すことにより, ユ
ーザが自由に外部システムを準備でき, スケジュール表
示システムの有用性が高まる.また, ユーザは, 既存の
システムを本発明のシステムから呼び出すことにより,
既存のシステムの機能増強ができる.
【0031】また, 本発明の第4の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し,前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと,所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶システムと, 前記計時
手段が読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出すシステムと,前記読み出しシステム
によって読み出された1時間分の各スケジュール設定時
刻を示すアイコンと各スケジュール内容を示す文字列
を, 前記時刻表示パネル上の対応する分目盛り近傍に表
示するスケジュール表示システムにおいて, 前記スケジ
ュール記憶システムに書かれた, 時刻に関連したスケジ
ュール情報とは独立したメッセージを前記スケジュール
記憶システムに登録する手段と, 前記スケジュール記憶
システムに登録されたメッセージを読み出す手段と, 前
記読み出されたメッセージを, 指定された文字数まで前
記時刻表示パネル上に表示する手段と,を具備すること
を特徴とするスケジュール提示システムである.
【0032】本発明の第4の側面に係わるスケジュール
表示システムにおいて, メッセージ機能により, アナロ
グ時計上に列車の時刻表やスケジュール表の表題を表示
できるのみならず, たとえば, 時刻表データの作成者が
データのユーザに対する広告メッセージをデータ中に容
易に準備できる. この広告機能は時刻表データを第3者
が作成する強い動機となる.
【0033】前記メッセージによる案内は, たとえば列
車の遅れを知らせたりする案内等である. また, このメ
ッセージは単なる個人のメモ書きとしても活用できる.
【0034】また, 本発明の第5の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し, 前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと, 所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶方法と,前記計時シス
テムが読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出す方法と, 前記読み出し方法によって
読み出された1時間分の各スケジュール設定時刻を示す
アイコンと各スケジュール内容を示す文字列を, 前記時
刻表示パネル上の対応する分目盛り近傍に表示するスケ
ジュール表示方法において, 前記スケジュール記憶シス
テム中に登録するデータを, 新たに作成するステップ,
および前記スケジュール記憶システム中に登録されてい
るデータを編集するステップ, および前記スケジュール
記憶システム中に登録されているデータのファイルへの
保存を行うステップと, を具備することを特徴とするス
ケジュール提示方法である.
【0035】本発明の第5の側面に係わるスケジュール
表示システムにおいては, 第1の側面から得られるのと
同様な効果がある.
【0036】また, 本発明の第6の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し, 前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと, 所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶方法と,前記計時シス
テムが読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出す方法と, 前記読み出し方法によって
読み出された1時間分の各スケジュール設定時刻を示す
アイコンと各スケジュール内容を示す文字列を, 前記時
刻表示パネル上の対応する分目盛り近傍に表示するスケ
ジュール表示方法において, 前記文字列の文字数の上限
を前記記憶装置に記憶するためのステップと, 前記文字
数の上限を前記記憶装置から読み出すステップと, 前記
読み出された文字数の上限までを, 前記時刻表示パネル
上の対応する分目盛り近傍に円環の中心に向かって順方
向の出力順または逆方向の出力順で文字列を表示するス
テップと, を具備することを特徴とするスケジュール提
示方法である.
【0037】本発明の第6の側面に係わるスケジュール
表示システムにおいては, 第2の側面から得られるのと
同様な効果がある.
【0038】また, 本発明の第7の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し, 前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと, 所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶方法と,前記計時シス
テムが読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出す方法と, 前記読み出し方法によって
読み出された1時間分の各スケジュール設定時刻を示す
アイコンと各スケジュール内容を示す文字列を, 前記時
刻表示パネル上の対応する分目盛り近傍に表示するスケ
ジュール表示方法において, 前記スケジュール記憶シス
テムに登録したスケジュール時刻が, 現在時刻情報と一
致するか, あるいは現在時刻より指定された時間前の時
刻と一致したときに, スケジュール情報とともに, 外部
システムを呼び出すステップ, を具備することを特徴と
するスケジュール提示方法である.
【0039】本発明の第7の側面に係わるスケジュール
表示システムにおいては, 第3の側面から得られるのと
同様な効果がある.
【0040】また, 本発明の第8の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示し, 前記リアル・タイム・クロッ
クが発生する現在時刻を読み取り, 時分に対応する複数
の分目盛りを円環状に並べた時刻表示パネルを前記ディ
スプレイ・スクリーン上に表示し, 現在時刻の時情報及
び分情報に対応する回転位置を指示する短針及び長針の
各々を, 前記時刻表示パネル上に表示するための時刻表
示システムと, 所定のスケジュール設定時刻を分単位で
記憶するためのスケジュール記憶方法と,前記計時シス
テムが読み取った現在時刻の時情報が示す1時間分に該
当するスケジュール設定時刻を前記スケジュール記憶シ
ステムから読み出す方法と, 前記読み出し方法によって
読み出された1時間分の各スケジュール設定時刻を示す
アイコンと各スケジュール内容を示す文字列を, 前記時
刻表示パネル上の対応する分目盛り近傍に表示するスケ
ジュール表示方法において, 前記スケジュール記憶シス
テムに書かれた, 時刻に関連したスケジュール情報とは
独立したメッセージを前記スケジュール記憶システムに
登録するステップと, 前記スケジュール記憶システムに
登録されたメッセージを読み出すステップと, 前記読み
出されたメッセージを, 指定された文字数まで前記時刻
表示パネル上に表示するステップと, を具備することを
特徴とするスケジュール提示方法である.
【0041】本発明の第8の側面に係わるスケジュール
表示システムにおいては, 第4の側面から得られるのと
同様な効果がある.
【0042】また, 本発明の第9の側面は, 少なくとも
プロセッサと記憶装置と入力装置とディスプレイとリア
ル・タイム・クロックを含むコンピュータ・システムの
ディスプレイ・スクリーン上で, 短針および長針を用い
て時刻をアナログ表示する処理と, 前記リアル・タイム
・クロックが発生する現在時刻を読み取り, 時分に対応
する複数の分目盛りを円環状に並べた時刻表示パネルを
前記ディスプレイ・スクリーン上に表示する処理と, 現
在時刻の時情報及び分情報に対応する回転位置を指示す
る短針及び長針の各々を, 前記時刻表示パネル上に表示
するための時刻表示処理と, 所定のスケジュール設定時
刻を分単位で記憶するためのスケジュール記憶処理と,
前記計時処理が読み取った現在時刻の時情報が示す1時
間分に該当するスケジュール設定時刻を前記スケジュー
ル記憶処理された記憶からスケジュールを読み出す処理
と, 前記読み出しシステムによって読み出された1時間
分の各スケジュール設定時刻を示すアイコンと各スケジ
ュール内容を示す文字列を,前記時刻表示パネル上の対
応する分目盛り近傍に表示する処理を, コンピュータ・
システム上で実行するように記述したコンピュータ・ソ
フトウェアをコンピュータ可読形式で物理的に格納した
記憶媒体であって, 前記コンピュータ・ソフトウェア
は, 前記スケジュール記憶システム中に登録するデータ
を, 新たに作成するステップ, および前記スケジュール
記憶システム中に登録されているデータを編集するステ
ップ, および前記スケジュール記憶システム中に登録さ
れているデータのファイルへの保存を行うステップと,
を具備することを特徴とするコンピュータ可読記憶媒体
である.
【0043】また, 本発明の第10の側面は, 少なくと
もプロセッサと記憶装置と入力装置とディスプレイとリ
アル・タイム・クロックを含むコンピュータ・システム
のディスプレイ・スクリーン上で, 短針および長針を用
いて時刻をアナログ表示する処理と, 前記リアル・タイ
ム・クロックが発生する現在時刻を読み取り, 時分に対
応する複数の分目盛りを円環状に並べた時刻表示パネル
を前記ディスプレイ・スクリーン上に表示する処理と,
現在時刻の時情報及び分情報に対応する回転位置を指示
する短針及び長針の各々を, 前記時刻表示パネル上に表
示するための時刻表示処理と, 所定のスケジュール設定
時刻を分単位で記憶するためのスケジュール記憶処理
と, 前記計時処理が読み取った現在時刻の時情報が示す
1時間分に該当するスケジュール設定時刻を前記スケジ
ュール記憶処理された記憶からスケジュールを読み出す
処理と, 前記読み出しシステムによって読み出された1
時間分の各スケジュール設定時刻を示すアイコンと各ス
ケジュール内容を示す文字列を, 前記時刻表示パネル上
の対応する分目盛り近傍に表示する処理を, コンピュー
タ・システム上で実行するように記述したコンピュータ
・ソフトウェアをコンピュータ可読形式で物理的に格納
した記憶媒体であって, 前記コンピュータ・ソフトウェ
アは, 前記文字列の文字数の上限を前記記憶装置に記憶
するためのステップと, 前記文字数の上限を前記記憶装
置から読み出すステップと, 前記読み出された文字数の
上限までを, 前記時刻表示パネル上の対応する分目盛り
近傍に円環の中心に向かって順方向の出力順または逆方
向の出力順で文字列を表示するステップと, を具備する
ことを特徴とするコンピュータ可読記憶媒体である.
【0044】また, 本発明の第11の側面は, 少なくと
もプロセッサと記憶装置と入力装置とディスプレイとリ
アル・タイム・クロックを含むコンピュータ・システム
のディスプレイ・スクリーン上で, 短針および長針を用
いて時刻をアナログ表示する処理と, 前記リアル・タイ
ム・クロックが発生する現在時刻を読み取り, 時分に対
応する複数の分目盛りを円環状に並べた時刻表示パネル
を前記ディスプレイ・スクリーン上に表示する処理と,
現在時刻の時情報及び分情報に対応する回転位置を指示
する短針及び長針の各々を, 前記時刻表示パネル上に表
示するための時刻表示処理と, 所定のスケジュール設定
時刻を分単位で記憶するためのスケジュール記憶処理
と, 前記計時処理が読み取った現在時刻の時情報が示す
1時間分に該当するスケジュール設定時刻を前記スケジ
ュール記憶処理された記憶からスケジュールを読み出す
処理と, 前記読み出しシステムによって読み出された1
時間分の各スケジュール設定時刻を示すアイコンと各ス
ケジュール内容を示す文字列を, 前記時刻表示パネル上
の対応する分目盛り近傍に表示する処理を, コンピュー
タ・システム上で実行するように記述したコンピュータ
・ソフトウェアをコンピュータ可読形式で物理的に格納
した記憶媒体であって, 前記コンピュータ・ソフトウェ
アは, 前記スケジュール記憶システムに登録したスケジ
ュール時刻が, 現在時刻情報と一致するか, あるいは現
在時刻より指定された時間前の時刻と一致したときに,
スケジュール情報とともに, 外部システムを呼び出すス
テップ,を具備することを特徴とするコンピュータ可読
記憶媒体である.
【0045】また, 本発明の第12の側面は, 少なくと
もプロセッサと記憶装置と入力装置とディスプレイとリ
アル・タイム・クロックを含むコンピュータ・システム
のディスプレイ・スクリーン上で, 短針および長針を用
いて時刻をアナログ表示する処理と, 前記リアル・タイ
ム・クロックが発生する現在時刻を読み取り, 時分に対
応する複数の分目盛りを円環状に並べた時刻表示パネル
を前記ディスプレイ・スクリーン上に表示する処理と,
現在時刻の時情報及び分情報に対応する回転位置を指示
する短針及び長針の各々を, 前記時刻表示パネル上に表
示するための時刻表示処理と, 所定のスケジュール設定
時刻を分単位で記憶するためのスケジュール記憶処理
と, 前記計時処理が読み取った現在時刻の時情報が示す
1時間分に該当するスケジュール設定時刻を前記スケジ
ュール記憶処理された記憶からスケジュールを読み出す
処理と, 前記読み出しシステムによって読み出された1
時間分の各スケジュール設定時刻を示すアイコンと各ス
ケジュール内容を示す文字列を, 前記時刻表示パネル上
の対応する分目盛り近傍に表示する処理を, コンピュー
タ・システム上で実行するように記述したコンピュータ
・ソフトウェアをコンピュータ可読形式で物理的に格納
した記憶媒体であって, 前記コンピュータ・ソフトウェ
アは, 前記スケジュール記憶システムに書かれた, 時刻
に関連したスケジュール情報とは独立したメッセージを
前記スケジュール記憶システムに登録するステップと,
前記スケジュール記憶システムに登録されたメッセージ
を読み出すステップと, 前記読み出されたメッセージ
を, 指定された文字数まで前記時刻表示パネル上に表示
するステップと, を具備することを特徴とするコンピュ
ータ可読記憶媒体である.
【0046】本発明の第9から第12の側面に係るコン
ピュータ可読記憶媒体は, 例えば,様々なプログラム・コ
ードを実行可能な汎用コンピュータ・システムに対して,
コンピュータ・ソフトウェアをコンピュータ可読な形
式で提供する媒体である. このような媒体は, 例えば,
CD(Compact Disc)やFD(Floppy Disc), MO(M
agneto-Optical disc)などの着脱自在で可搬性の記憶
媒体である. あるいは, ネットワーク(ネットワークは
無線, 有線の区別を問わない)などの伝送媒体などを経
由してコンピュータ・ソフトウェアを特定のコンピュー
タ・システムに提供することも技術的に可能である.
【0047】このようなプログラム記憶媒体は, コンピ
ュータ・システム上で所定のコンピュータ・ソフトウェ
アの機能を実現するための, コンピュータ・ソフトウェ
アと記憶媒体との構造上又は機能上の協働的関係を定義
したものである. 換言すれば, 本発明の第9から第12
の側面に係る記憶媒体を介して所定のコンピュータ・ソ
フトウェアをコンピュータ・システムにインストールす
ることによって, コンピュータ・システム上では協働的
作用が発揮され, 本発明の第1から第4の側面に係るス
ケジュール提示システム又はスケジュール提示方法と同
様の作用効果を得ることができる.
【0048】本発明のさらに他の目的, 特徴や利点は,
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう.
【0049】
【発明の実施の形態】以下, 図面を参照しながら本発明
の実施例を詳解する.
【0050】A.システム構成 図1には, 本発明を実現するのに適した典型的なパーソ
ナル・コンピュータ(PC)100のハードウェア構成
を模式的に示している. 本発明を実現するコンピュータ
・システム100の一例は, 米IBM社のPC/AT
(Personal Computer/Advanced Technology)互換機又
はその後継機であり, OADG(PC Open Architecture
Developer's Group)仕様に準拠する. また, オペレー
ティング・システム(OS)として, 例えば米マイクロ
ソフト社の"Windows95/98/ME/NT"を
搭載する. 以下, システム100の各部について説明す
る.
【0051】メイン・コントローラであるCPU(Cent
ral Processing Unit)11は, OSの制御下で, 各種
プログラム・コードを実行するようになっている. CP
U11は, 例えば米インテル社製のCPUチップ"Pe
ntium II/III/IV"でよい.
【0052】図示のシステム100は, CPU11の外
部ピンに直結したプロセッサ・バス12と, 比較的高速
なデータ転送を実現するPCI(Peripheral Component
Interconnect)バス14と, 比較的低速なデータ転送
を行うISA(Industry Standard Architecture)バス
30という3階層のバス・アーキテクチャで構成され,
各階層のバス間は, それぞれブリッジ回路13及び25
で相互接続されている.
【0053】プロセッサ・バス12とPCIバス14と
を連絡するブリッジ回路(ホスト−PCIブリッジ)1
3は, 両バス12,14間の速度差を吸収するデータ・
バッファの他に, メイン・メモリ15へのアクセス動作
を制御するメモリ・コントローラや, グラフィック・コ
ントローラ19を接続するAGP(Accelerated Graphi
c Port)を含んだ構成となっている.
【0054】メイン・メモリ15は, 書き込み可能なメ
モリであり, メモリ・バス16経由でブリッジ回路13
(メモリ・コントローラ)と連絡している. メイン・メ
モリ15は, BIOS(基本入出力システム), デバイ
ス・ドライバ, OS, アプリケーション・プログラムな
ど, CPU11が実行するプログラム・コードをロード
したり, これらプログラム・コード実行中の作業データ
を一時的に保持するために利用される. メイン・メモリ
15は, 通常, 複数個のDRAM(ダイナミックRA
M. 例えばシンクロナスDRAMなど)チップで構成さ
れる.
【0055】システム100は, メイン・メモリ15の
他に, キャッシュ・メモリ(L2−キャッシュ)17や
ROM18などのメモリ装置を装備している.
【0056】キャッシュ・メモリ17は, CPU11が
メイン・メモリ15にアクセスする時間を吸収するため
の高速動作メモリである. 例えば, CPU11が頻繁に
アクセスするごく限られたコードやデータがキャッシュ
・メモリ17上に一時的に格納される. キャッシュ・メ
モリ17は, 一般にはSRAM(スタティックRAM)
チップで構成される.
【0057】また, ROM(Read Only Memory)18
は, 所定のコード(マイクロコード)やデータを恒久的
に記憶するための不揮発性メモリである. ROM18に
は, 例えば, システム始動時にプログラムをメモリ・ロ
ードするためのIPL(Initial Program Loader)や,
パワー・オン時に実行するテスト・プログラム(POS
T), キーボードなどのI/Oデバイスのハードウェア
操作を制御するためのコード群(BIOS)などが格納
されている. なお, ROM18が消去再書き込み可能な
タイプ(例えばEEPROM(Electrically Erasable
and ProgrammableROM))であれば, 製品出荷後にBI
OS等のコードをアップデートすることができる.
【0058】AGPは, 3Dグラフィックスの高速描画
を主目的として米インテル社が中心となって策定された
インターフェース仕様である. AGPバス12は, PC
Iバスの4倍のデータ転送能力を持ち, グラフィックス
・コントローラ19を接続している.
【0059】グラフィックス・コントローラ20は, C
PU11が発行する描画命令を実際に処理するための専
用コントローラであり, SVGA(Super Video Graphi
c Array)又はXGA(eXtended Graphic Array)相当
の解像度を有するとともに,いわゆる「グラフィック・
アクセレレータ」機能をサポートする. また, グラフィ
ックス・コントローラ20は, AGPバス12を介する
ことで, フレーム・バッファに高速アクセスして, 表示
装置21上に描画内容を画面出力することができる. 表
示装置21は, 例えば, CRT(Cathode Ray Tube)デ
ィスプレイや,液晶表示ディスプレイ(Liquid Crystal
Display:LCD)などである.
【0060】PCIバス14は, PnP(プラグ・アン
ド・プレイ)機能をサポートした高速バスであり, バス
幅32/64ビット, 最大動さ周波数33/66MH
z, 最大データ転送速度132/264MBpsを有
し, ネットワーク・インターフェース・カード(NI
C)22, SCSI(Small Computer System Interfac
e)コントローラ23, その他のPCIデバイス24が
接続されている. PCIアーキテクチャは, 米インテル
社の提唱に端を発する.
【0061】NIC22は, Ethernetなどの所
定の通信プロトコルに従って, システム100をLAN
(Local Area Network)などのネットワークに接続する
ことができる. NICは, 一般に, LANアダプタ・カ
ードの形態で提供され, マザーボード上のPCIバス・
スロットの装着して用いられる.
【0062】LAN上には, 複数のホスト(コンピュー
タ)がトランスペアレントに接続され, 分散コンピュー
ティング環境が構築されている. また, ホストの一部は
ルータとして稼動し, さらに他のLANやインターネッ
トなどの外部ネットワークに接続されている. インター
ネット上では, ソフトウェア・プログラムやデータ・コ
ンテンツなどのディストリビューションが行われる(周
知).
【0063】SCSIコントローラ23は, SCSIイ
ンターフェースを有するSCSIデバイス23A,23
B…を最大7台までデイジーチェーン接続し, 各SCS
Iデバイスに対してSCSIコマンドを発行するイニシ
エータとして動作する. SCSIコントローラは, 一般
に, 「アダプタ・カード」の形態で提供され, マザーボ
ード上のPCIバス・スロットに装着して用いられる.
【0064】SCSIデバイスには, MO(Magneto-Op
tical disc)ドライブやハード・ディスク, CD−Rド
ライブなどの外部記憶装置やスキャナなどがある. な
お, SCSIインターフェースの仕様はANSI(Amer
ican National Standards Institute:米国規格協会)
によって規格化されている.
【0065】PCIバス14とISAバス30とは, ブ
リッジ回路(PCI−ISAブリッジ)25によって相
互接続されている. 本実施例のブリッジ回路25は, D
MAコントローラや, プログラマブル割り込みコントロ
ーラ(PIC), プログラマブル・インターバル・タイ
マ(PIT), RTC(リアル・タイム・クロック)/
CMOSなどを含んだ構成となっている.
【0066】DMAコントローラは, I/Oデバイス
(例えばFDDなど)とメイン・メモリ15間のデータ
転送をCPU11の介在なしに実行するための専用コン
トローラである.
【0067】PICは, I/Oデバイスからの割り込み
要求(IRQ)を処理してCPU11に通知するように
なっている. 割り込みの通知を受けたCPU11は, 実
行中のタスクを処理して所定の処理プログラム(割り込
みハンドラ)を実行するようになっている.
【0068】PITは, タイマ信号(通常は矩形波)を
所定周期で発生させるための装置であり, その発生周期
はプログラマブルである.
【0069】RTC/CMOSのRTC部分は, 現在時
刻を計時してシステム100に提供する. また, CMO
Sメモリ部分は, システム100におけるシステム構成
情報(BIOSの設定値など)や, パワーオン・パスワ
ード(若しくはログイン・パスワード), その他のシス
テム100のセーフティやセキュリティに不可欠な情報
を保管するために使用される. RTC/CMOSは, リ
ザーブ・バッテリ(コイン・バッテリなど)でバックア
ップされており, システム100がパワー・オフ期間中
も計時内容や記憶内容を失わないようになっている.
【0070】また, 本実施例に係るブリッジ回路25
は, さらに, IDE(Integrated Drive Electronics)
に準拠した外部記憶装置を接続するためのIDEインタ
ーフェースも備えている. このIDEインターフェース
のマスター側にはIDEハード・ディスク・ドライブ
(HDD)26が接続され, スレーブ側にはCD−RO
Mドライブ27がATAPI(AT Attachment Packet I
nterface)接続されている.
【0071】HDD26は, 記憶担体としての磁気ディ
スクを固定的に搭載した外部記憶装置であり(周知),
記憶容量やデータ転送速度などの点で他の外部記憶装置
よりも優れている. ソフトウェア・プログラムを実行可
能な状態でHDD26上に置くことをプログラムの「イ
ンストール」と呼ぶ.
【0072】CD−ROMドライブ27は, 可搬型記憶
媒体としてのCD−ROMを交換可能に装填してデータ
を読み取るタイプの外部記憶装置である. CD−ROM
は,例えばソフトウェア・プログラム(インストール・
プログラムなど)やデータ・コンテンツなどのコンピュ
ータ・データをコンピュータ間で移動したりディストリ
ビューションを行うために利用される.
【0073】また, 本実施例に係るブリッジ回路25
は, 汎用バスであるUSB(Universal Serial Bus)バ
スを接続するためのUSBコントローラを内蔵するとと
もに,少なくとも1基のUSBポートを備えている. U
SBは, 電源投入中にUSBデバイスを抜き差しする
「ホット・プラギング」機能や, 追加・削除されたUS
Bデバイスを自動認識してシステム構成情報を再設定す
るPnP機能をサポートしている. 1基のUSBポート
には, 最大63個のUSBデバイス28A,28B…を
デイジーチェーン接続することができる. USBデバイ
スの例は, ユーザ入力装置としてのキーボードやマウ
ス, 外部記憶装置としてのフロッピー(登録商標)・デ
ィスク・ドライブ(FDD)などである.
【0074】ISAバス30は, PCIバス14に比し
データ転送速度が低いバスであり,バス幅16ビット,
最大データ転送速度4MBpsを有する. したがって,
ISAバス30上には, DSP(Digital Signal Proce
ssor)/モデム31や, シリアル入出力(SIO)コン
トローラ32, パラレル入出力(PIO)コントローラ
33などの, 比較的低速動作をする装置が接続されてい
る.
【0075】DSP/モデム31は, デジタル信号を処
理する専用コントローラであり, オーディオ信号の入出
力や, デジタル・データの変復調を行うことができる.
例えば, モデムとして動作することにより, アナログ一
般電話回線(PSTN)を通信媒体としたデータ交換が
可能となる. 例えば, 一般電話回線経由でインターネッ
ト・サービス・プロバイダ(ISP)にダイアルアップ
することでインターネットに接続される.
【0076】SIOコントローラ32は, マウスやスキ
ャナなどの外部機器との間でシリアル・データを交換す
るための周辺コントローラであり, RS−232Cイン
ターフェースを有する. また, PIOコントローラ33
は, プリンタなどの外部機器との間でパラレル・データ
を交換するための周辺コントローラであり, IEEE1
284インターフェースを有する.
【0077】パーソナル・コンピュータ100の典型的
なユーザは, キーボード又はマウスを介してシステムを
操作して, ワープロ, 表計算, 通信などのような各種ア
プリケーション・プログラムを実行し, ディスプレイ・
スクリーン(すなわちデスクトップ)上で自らの業務遂
行に役立てることができる. (ユーザは, 所望のアプリ
ケーションをCD−ROM又はFDなどの可搬型メディ
アからHDD26に移動して所定の設定処理を行うこと
によって, これらをシステムにインストールすることが
できる. 本発明はインストールされたアプリケーション
・プログラムという形態でも体現される, という点に充
分留意されたい. )
【0078】なお, コンピュータ・システム100を構
成するためには, 図1に示した以外にも多くの電気回路
等が必要である. 但し, これらは当業者には周知であ
り, また, 本発明の要旨を構成するものではないので,
本明細書中では省略している.また, 図面の錯綜を回避
するため, 図中の各ハードウェア・ブロック間の接続も
一部しか図示していない点を了承されたい.
【0079】B.ソフトウェア実行環境 図2には, コンピュータ・システム100上で提供され
るソフトウェア実行環境の構成を模式的に示している.
【0080】ハードウェア制御層:最下層であるハード
ウェア制御層は, 上位のソフトウェア(オペレーティン
グ・システムやアプリケーションなど)に対して, 各ハ
ードウエアの物理的な相違(メーカやバージョンによる
相違など)を見えなくするためのソフトウェア層であ
る. 例えば, ハードウェア制御層のあるモジュールは,
上位ソフトウェアが発する一般的な形式のコマンドを,
ハードウェアの駆動に適した固有の形式に変換するよう
になっている. ハードウェア制御層は, ROM18中に
格納されたBIOS(基本入出力システム)という形態
で, マザー・ボードに添付されている場合もある. ある
いは, ハードウェア制御層は, デバイス・ドライバ(例
えばマウス・ドライバやプリンタ・ドライバ, CD−R
OMドライバなど)や, HAL(Hardware A
bstraction Layer)という形態で, シ
ステムにインストールされることもある.
【0081】オペレーティング・システム(OS):オ
ペレーティング・システム(OS)は, システムのハー
ドウェア及びソフトウェアを総合的に管理するための基
本ソフトウェアであり, 先述の″OS/2″や″Win
dows95/98/2000(ME)″の他, ″UN
IX(登録商標)″などがこれに該当する. 本発明に係
る時刻表示を好適に実現するためには, オペレーティン
グ・システムはマルチタスク環境を備えていることが好
ましい. オペレーティング・システムは, 一般には, カ
ーネル(Kernel)領域とユーザ領域とで構成され
る.
【0082】カーネル領域とは, システム100全体の
動作を監視して, アプリケーションなどの各種プログラ
ムの実行を支援するための各基本機能が集まった部分で
ある. カーネル領域のコア部分には, HDD26などの
補助記憶装置へのファイルの記録等を管理するための
「ファイル・マネージャ」, タスク実行の順序や優先度
を管理するための「スケジューラ」, メモリ領域の割り
当てを行うための「メモリ・マネージャ」, I/Oアド
レスやDMAレベルなどのシステム・リソースを管理す
るための「リソース・マネージャ」などが含まれてい
る.
【0083】一方, ユーザ領城とは, 主に, ユーザが選
択したアプリケーションを支援するための機能ルーチン
部分からなり, 具体的には, 「ユーザ・インターフェー
ス」や「ウィンドウ・システム」が含まれている. この
うち, 「ユーザ・インターフェース」(′shell′
ともいう)は, ユーザからの指令を解釈してカーネルの
コア部分に伝えるとともに, コア部分からの応答をユー
ザに伝える機能を有している. また, ディスプレイ22
上のウィンドウ表示を実行する「ウィンドウ・システ
ム」(例えばUNIXの"X Window"やOS/2
の"Presentation Manager")や,
複数のソフトウェアで共通の処理を行うための関数やデ
ータの集まりであるライブラリ(「シェアド・ライブラ
リ」又は「ダイナミック・リンク・ライブラリ(DL
L)」ともいう)も, ユーザ領域に含まれる. なお, ユ
ーザ・インターフェースとしては, ビットマップ形式で
表示を行い, マウスによるアイコンのクリック/ドラッ
グ・アンド・ドロップ操作機能をサポートしたGUI
(グラフィカル・ユーザ・インターフェース)が, 現在
定着してきている.
【0084】アプリケーション:最上位層のアプリケー
ション・プログラムは, システム100を実務的な目的
のために使うプログラムのことであり, 例えばワープロ
・ソフト, データベース・ソフト, 表計算ソフト, 通信
ソフトなどがこれに該当する. また, ユーザの使い勝手
を向上させるためのユーティリティ・プログラム(「ツ
ール」ともいう)も, アプリケーションの一種である.
また, 本発明の実施に供されるスプレッド時刻表も, ア
プリケーション・プログラムによって実装することもで
きる.
【0085】通常, ユーザは, 自身が必要とするソフト
ウェア・プログラム(OSやデバイス・ドライバ, アプ
リケーションなど)を, FDやCD−ROMなどの記憶
媒体に格納した形態で入手する. そして, これら記憶媒
体上の所望のソフトウエア・プログラムをHDD26の
ディスク上にコピーする(すなわちシステムに「インス
トール」する)ことにより, システムにとって使用が準
備された状態となる(前述). また, 最近では, ネット
ワーク接続された外部コンピュータ・システム(例えば
Webサーバ)からダウンロードすることによって, 所
望のプログラムをシステムにインストールすることも増
えてきている.
【0086】前項まで, 本発明を具現化するコンピュー
タ・システム100のハードウェア構成, 並びに該シス
テム100上で提供されるソフトウェア実行環境につい
て説明してきた. 次の三つの項では, かかるシステム環
境で動作可能な「DiaclockJ1」(仮称)アプリケーション
の操作とアプリケーションの構成, および処理を説明す
る. なお, 「DiaclockJ1」はスケジュールの例として列
車の発車時刻を取り上げている. セクションC.では, ア
プリケーション・プログラムのインストール,GUI, 及び
操作方法を説明する. セクションD.では, アプリケーシ
ョン・プログラムのモジュール構成(実際にはJAVA
(登録商標) Bean)を説明し, 処理手順を説明する.
セクションE.では, スケジュールデータ(DiaclockJ1で
は列車の発車時刻)の保存フォーマットを詳しく説明す
る. 本明細書では, 「列車発車スケジュール提示アプリ
ケーション」である「DiaclockJ1」を略して「アナログ
時刻表」と呼ぶ.なお, 「DiaclockJ1」アプリケーショ
ンは, 例えば, 該アプリケーション・プログラムをコン
ピュータ可読形式で物理的に格納したCDやFDなどの
記憶媒体をCD−ROMドライブ26又はFDD31な
どの記憶装置に装着して, ハード・ディスク26上にコ
ピーしさらに所定の設定動作を行うことによって, シス
テム100にインストールされる. あるいは, 該アプリ
ケーション・プログラムを格納した他のコンピュータ・
システム(例えばWebサーバ)からネットワーク(例
えばインターネット)経由でダウンロードすることによ
って, システム100にインストールされる. かかるイ
ンストール済みのプログラムは, メモリ14上に一時的
にロードされ, CPU11により実行される.
【0087】 C. アナログ時刻表 DiaclockJ1の概要, 操作, 画面構成 C.1. DiaclockJ1の概要 本節C.1で, アナログ時刻表DiaclockJ1の特徴と主な機
能および設計思想を説明する.
【0088】C.1.1. アナログ時計上の時刻表 このプログラムは, アナログ時計が発展した時刻表付き
時計である. アナログ時計上に時刻表や個人のスケジュ
ールを表示することで, より直感的に列車のダイヤや個
人のスケジュールが把握できる.
【0089】駅では, よく大きなアナログ時計が設置さ
れている. ところが, 駅の時刻表は必ずデジタル(数
値)で表示されている. 駅にデジタル時計ではなく, ア
ナログ時計を設置している理由は, アナログ時計だと直
感的に時間が把握できるからである.
【0090】数値を角度で表現すると, 直感的に値を把
握できる. また, 数値の大小の差は角度できわめて容易
に理解できる. アナログ時計を見ると, 後何分で何時に
なるとか, 何時を何分過ぎているといったことはすぐに
理解できる. 算術計算の必要はない. ところが, デジタ
ル時計だと, 数字を眺めても時間を直感的に理解するこ
とはできない. また, 二つの時間の差は, 必ず算術計算
をしないとわからない. このように角度で時間を表現す
ることには, 明らかな利点がある.
【0091】従来, 列車の発車時刻や到着時刻はデジタ
ルのみで表現されてきた. 駅の時刻表の発車時刻は, 現
在時刻に対しての差分が重要である. あと何分で列車が
来るのかということが重要であり, 絶対的な時刻はあま
り重要でないケースが多い.現在の駅の時刻表では, ア
ナログ時計で絶対時刻を理解し, 数値の時刻表で現在時
刻以後に発車する列車を探す. そして算術計算をして待
ち時間を理解するシステムになっている. これは利用者
にとって不便である. そこで, 本プログラムDiaclockJ1
は, 数値の時刻表の不便さを取り除き, 時刻表もアナロ
グ時計上にアナログで表示する. すると, 発車時刻と現
在時刻, 複数の列車の発車時刻の関係をアナログ時計と
同じように角度で直感的に理解できる. 具体的には, 発
車する列車をアナログ時計の分目盛りの近くに列車の印
(マーク)を表示することにより,列車の発車時刻を表現
する.
【0092】C.1.2. アナログ時計上の予定表 DiaclockJ1は列車の時刻表に限定されない. プログラム
のデータ作成GUIの終着駅名の所に「会議」等の文字を
入力することによって, 予定表として使用できる. ま
た, 夕方5時までは, 会社の昼食時間や学校の時間割な
どを記入し, 5時以後は列車の時刻表が入っているとい
った融合も容易にできる. DiaclockJ1の終着駅の所に番
組名などを書くと, 放送スケジュール表示となる. テレ
ビ局でアナログ時計をCRTモニターに映している. それ
らテレビ局の時計をDiaclockJ1で置き換えることも可能
である.
【0093】C.1.3. DiaclockJ1の特徴 DiaclockJ1はアナログ時計の時刻表やスケジュール表へ
の拡張である. 通常はパソコンモニターの画面の隅で,
小さなアナログ時計として使用する. オフィスからの帰
宅時など駅の時刻表を必要とするときにボタンを押し時
刻表として使用する. このとき, 駅の列車の発車時刻を
10分前以後49分先までアナログ時計の目盛りの近く
に印で表現する. 実際には, 列車種別を示す印と行き先
を示す文字列を表示する(図14). このように列車の
発車時刻を表現することにより,利用者はアナログ時計
を見たと同時に列車の発車時刻も理解できる.
【0094】このDiaclockJ1の特徴として, 次のような
ものがある. 1. 現在時刻と列車の発車時刻の時間差を角度で認
識できる. 2. 列車の発車間隔も角度で認識できる. 列車が次
々来るのか, あまり電車が来ないのかが感覚的にわか
る. 3. 一時間内の列車本数が多くてもコンパクトに表
現できる. 4. 時刻が進むのにあわせて必要な時刻表を表現で
きる. 5. 時刻表データをGUIから作成できる. 6. 時刻表を使用しない時間帯などの時刻表データ
を消去できる. また, 時刻表データに学校の時間割など
を書き加えうる. それらのデータを保存し, また開くこ
とができる. 7. 駅の時刻表データは汎用性のあるXMLで作成し
ている. 8. データはローカルなファイルからだけではな
く, URI(Universal Resource Identifier)を指定して
Internet上から開くことができる. また, Internet上で
データを管理する人がいれば, 利用者が時刻表の更新を
する必要はない.
【0095】C.1.4. プログラムの機能 DiaclockJ1の機能を簡単に説明する. −アナログ時刻表機能 : この機能がこのプログラムの
主たる機能で, 時刻表の分目盛りの周りに, 発車する列
車の印と行き先を表示する機能である. (図12) −駅到着予定時刻カーソル機能 : オフィスから駅まで
の時間をあらかじめ設定しておく事により, 現在オフィ
スを出発するといつ駅のプラットホームに到着できるか
を表示するマークをアナログ時計上に表示できる. この
機能により, オフィスから帰宅したりするとき, 視覚的
に乗車すべき列車とプラットホームでの待ち時間が把握
できる. −デジタル時刻表機能(通常の駅の時刻表表示): オフ
ィスから駅に向かうときに, 何分発の列車に乗るかを頭
の中に刻み込むために, アナログ表示のみならずデジタ
ル(数字)による表示も合わせて行う機能である. −休日平日自動切換え機能 : 休日運転時刻表と平日運
転時刻表の選択が日付に対して自動的に行われる. −XMLデータファイル機能 : XMLで記述された駅の時刻
表をデータファイルとしている. したがって, 作られた
XMLファイルはDiaclockJ1プログラム以外の目的にも使
用できる. −時刻表データ編集機能 : ユーザーは時刻表のデータ
フォーマットを理解していなくともGUI画面から時刻表
を編集し時刻表のXMLファイルに保存できる. さらに入
力の効率を上げる追加的GUIもある. (図17, 20,
21, 22,) −列車発車ビープ音機能 : 列車の発車時刻等をビープ
音で知らせる. −外部プログラム呼び出し機能 : 列車の発車時間に合
わせて外部プログラムを呼び出せる(発車時刻などのArg
ument数は制御可能) −列車発車アナウンスメント機能 : 列車の発車時刻を
音声で知らせる. (外部プログラム呼び出し機能を利用
する. ) −XMLファイル作成者による広告機能 : XMLファイルの
中に “SEIKO”といった文字を広告としてアナログ時計
の左下に表示できる. −動作環境保持機能 : オフィスで働くサラリーマン
(とウーマン)が普通の小さなPC時計として使用するの
に便利なように動作環境を自動的に保存する. −表示画面選択機能 : オフィスにおいて日中は小さな
アナログ時計として使用できる. (図11)
【0096】C.1.5. DiaclockJ1の設計思想 DiaclockJ1の設計思想は, シングルデータ, マルチプル
プレゼンテーションである. 駅の時刻表という1セット
の時刻表を, アナログ表現, デジタル表現, リストデー
タ表現, データ入力のための表現, 音, および音声表現
で行うことができる. マルチプルデータ表現を容易にす
るために, 時刻表データを単にBeanオブジェクトにして
いるのではなく, 時刻表データの抽象データモデルを作
成した.プレゼンテーションする(Viewする)Beanから
は, 必ずこの抽象データモデルを経由してデータにアク
セスするように設計している. この設計により, データ
Bean以外のBeanから容易に時刻表データにアクセスでき
るようになっている. この抽象データモデルはデータ作
成のためのインターフェイスも備えている. よってデー
タ入力も容易に行える. また, 外部のプログラムを時刻
表のデータをArgumentとして呼べる. したがって, 時刻
表のプレゼンテーション方法は無限といえる. (基本設
計については, セクションD.1を参照)
【0097】ファイル上のデータは, XMLを使用してい
る. これは, 駅の時刻表の標準化に役立つだけではな
く, このファイルはDiaclockJ1以外のプログラムからも
活用することができる.
【0098】アナログ時計およびアナログ時刻表(アナ
ログ時計上の列車の印等)は, 秒針, 時針・分針および
カーソル, アナログ時刻表, 分目盛り, バックグラウン
ドと別々のBeanで構成している. 画面上ではそれらを重
ねて表示している. これらBeanを交換あるいは追加, 拡
張することにより, アナログ時刻表や予定表としての発
展を可能にしている. たとえば, 次に発車する列車ごと
にバックグラウンドにアニメーションを入れたりするこ
とも, Beanの追加により容易に行える.
【0099】C.2. Diaclock J1の操作方法 本節においてアナログ時刻表DiaclockJ1(Java版)の動
作環境とインストールの方法, およびプログラムの操作
方法を説明する.
【0100】C.2.1. 利用状況設定 なお, DiaclockJ1の時刻表としての利用状況設定は次の
ものを想定している. − 電車等の交通機関で帰宅するPCを使用するオフィスワーカー − 駅構内での乗降客むけモニターによる, 発車時刻表示 − 喫茶店や病院などでの, お客様むけモニターによる最寄の駅の時刻表表 示 − 駅近くの店のショウウインドー内の時刻表表示 特に重視したシナリオは, PCの画面の片隅に常にアナロ
グ時計を小さく表示しているユーザーが, その時計をDi
aclockJ1に置き換え, 帰宅まぎわにDiaclockJ1のスケジ
ュールボタンを押すと, 帰宅に利用する列車が一目でわ
かるという利用状況である.
【0101】C.2.2. プログラムの動作環境 このプログラムはJAVAで書いてあり, 複数の異なる環境
で動作する. 現在はWindows2000とWindows98の環境にお
いて動作確認をしている. いずれも言語は日本語環境の
みである. JAVA Run Time Environmentは, Version1.2.
2およびVersion1.3.1.01で動作確認している.
【0102】C.2.2.1. プログラムをインストールする
時に必須な環境 − Windows2000もしくはWindows98 (WindowsXP, W
indows95は順次テスト予定) − JAVA Runtime Environment Version1.3または
Version1.2.2
【0103】C.2.3. プログラムのインストール 本プログラムはJAVAの実行環境がすでにWindows95/98/N
T/2000/XP上にインストールされていることを前提とし
ている. (通常は, JAVA環境も考慮した高価なインスト
ーラー準備プログラム使用しプログラムインストーラー
を準備すると, JAVA環境が自動的にインストールされる
ので前提条件や制約事項ない. 本インストールプログラ
ムは高価なインストーラー準備プログラムを使用せず開
発されている. 本インストールプログラムは. 多少の制
限事項はあるが, PCの普通のユーザーにも容易にインス
トールができるようにしている. またアンインストール
も普通のWin32のプログラムと同じようにできる. ) J
AVAのRuntime Environmentのプログラムはhttp://java.
sun.com/j2se/1.3/ja/jre/download-windows.htmlのサ
イトから入手可能である. このサイトから入手したプロ
グラムを走らせるだけで簡単にJAVARuntime Environmen
tのインストールは完了する.インストール時の制限事項
は次の3点である. 1. DiaclockJ1のインストーラーは日本語対応では
ない. したがって, ディフォルトのインストールディレ
クトリー以外にインストールするときにはあらかじめ半
角英数だけのディレクトリーを作成しておく必要があ
る. ディフォルトディレクトリー c:\Program Files\Di
aclockを受け入れる場合は特別な準備の必要はない. 2. DiaclockJ1のインストーラーはJAVA Runtime E
nvironmentのシステムのインストールをチェックしない
で, インストールを実行する. 3. 一番最初のDiaclockJ1プログラム実行時に,
javaw.exeが存在しないと言う警告を出し, 自動的にjav
aw.exeを探すので, 見つけたjavaw.exeを新しいく呼び
出すプログラムとして受け入れる. ただし, その動作は
質問に対して “Yes”のボタンを押すだけである.
【0104】C.2.3.1. インストール手順 インストール手順は, 必ず次のようにする必要がある. 1. JAVA RunTime Environmentがすでにインストー
ルされていなければ, JAVA Runtime Environment Versi
on1.3をインストールする. 2. DiaclockJ1のインストーラーSETUPEX.EXEが実
行時に提示してくるディフォルトのインストールディレ
クトリーにインストールしたくない場合は, あらかじめ
半角英語だけでrootディレクトリー(フォルダー)から
たどれるディレクトリーを作成しておく. デフォルトの
インストールディレクトリーでよければ,何もする必要
はない. 3. DiaclockJ1のインストーラーであるSETUPEX.EX
Eを起動する. 4. インストーラーの指示に従ってインストールを
完了する. 5. インストールされたプログラムを通常の「スタ
ートプログラム」から起動する. 6. javaw.exeが存在しないという警告をだし, jav
aw.exeを探しに行くので, そのまま待つ. 7. 「javaw.exeが見つかったので, 見つかったjav
aw.exeプログラムを呼びに行く設定にしてよいか」と聞
いてくるので, それを受け入れる. (インストール完
了) 8. 続いてDiaclockJ1が起動する. 次回からは「ス
タートプログラム」から通常通りプログラムが起動でき
る. うっかり, JAVA RunTime Environmentをインストールす
るのを忘れて, DiaclockJ1をインストールしたときは,
あとからJAVA RunTime Environmentをインストールし,
少しの手作業でインストールを完了できる. しかしそれ
よりも, 一旦DiaclockJ1をアンインストールして上記1
からやり直した方が, より単純にインストールを完了で
きる. DiaclockJ1のアンインストール方法は通常のWind
owsのプログラムと同じである.
【0105】C.2.4. プログラムの起動 通常のWin32のプログラムと同様にスタート・プログラ
ムメニューからDiaclockJ1を選択することでプログラム
は起動する. 最初の起動では図3のようなWindowが表示
される. タイトルバーにはプログラム名が表示されてい
る. メニューバーには, File, Options, Auto(Holiday,
NonHoliday)の選択がありぞれぞれプルダウンメニュー
を表示する. ツールバー(アイコン)は左から, それぞ
れプルダウンメニュー中の “ScheduleOn”, “Curso
rOn”, “File Open…”に対応している. ScheduleOn
ボタンを押すとアナログの列車表示とデジタルの列車の
情報表示が行われる. 図3ではまだ駅の時刻表データフ
ァイルをloadしていない. したがって, タイトルバーに
はloadしているデータファイル名ではなく, プログラム
名を表示している. また, 同じ理由で, ステータスバー
にはデータの情報とデータのパスとファイル名が表示さ
れず細いバーになっている(図3では, 細くなったステ
ータスバーはかすかに見える程度である). 一方, Wind
ow左下の方には“--:--”が表示されている. これは現
在時刻から3:00a.m.までに列車データが存在しないこと
を示している. またツールバーのボタンの右側に現在の
日付と曜日が表示されている. 曜日はWindowを小さくし
たときのことを考慮して2文字にしている. Window全体
の大きさは自在に変えることができ, Windowの縦横の比
によりアナログ時計は楕円になる. プログラムは前回終
了したのと同じ場所と同じ大きさで立ち上がる.
【0106】C.2.5. 時刻表データファイルのload 時刻表データファイルのloadは図3のツールバー一番右
のボタンを押すか, 図4のFile プルダウンメニュー中
にある “File Open…”を押すことにより, ファイル選
択メニュー(Java2のJFileChooser)が表示する(図
5). サンプルデータはインストールした先のフォルダ
ーのDataフォルダー中に入っている. 表示したいデータ
ファイル(実際にはxmlのエクステンションの付いたフ
ァイル)を選択し, 「開く」ボタンを押すとデータをlo
adする. “ScheduleOn”を選択した状態であれば現在
時刻以後に発車する列車を表示する. 「取消し」ボタン
を押すと, データをloadせずもとの状態にもどる. ただ
し, 遅いCPUを持ったPC上ではloadに秒単位の時間がか
かる.
【0107】ネット上のファイルをloadする場合は,
“URI Open…”を押すことにより図6のText Input Win
dowが表示され, “http://…”や “ftp://…”といっ
たURIを入れ「了解」を押すことにより, 同じくデータ
がloadされる. 小田急湘南台駅下りのデータをloadした
状態を図7に示す. アナログ時計上の分目盛りの外側の
三角形が現在時刻以後49分以内に到着する列車を表示し
ており, すでに発車時間を過ぎている列車で10分を経過
しない列車に関しては分目盛りの内側に列車を表示して
いる. ここでは, 11:50, 11:56, 12:06, 12:18, 12:25,
12:35が青色で表示されており, 11:48, 12:15, 12:45
が赤色で表示されている. それぞれ普通および急行であ
る事を色で表現している.
【0108】図7では, はっきりは見えないが, アナロ
グ時計表示部分の右下部分に灰色の下向き三角形が表示
されている. これは灰色が平日の時刻表であることを,
また下向きが下り列車であることを示している. 文字に
よる表示部分は, 現在時刻以後で発車する直近の3列車
を表示している. 左から順に, 発車時刻, 列車種別, 行
き先駅名, 発車までの時間を表示している. 文字の色は
アナログ時計上に表示されているものと同じで, 「普
通」には青, 「急行」には赤が使用されている. タイト
ルバーにはloadされているファイル名(ここでは, 下り
湘南台OK.xml)が表示され, ステータスバーには上り下
りの別, 駅名, 路線名, 運行主体, および,loadされて
いるファイルのパス・ファイル名が表示されている(図
7ではパス名の最初のみが表示されているがWindowを大
きくすると全部が表示される). アナログ時刻表によ
り, 視覚的に直前に普通列車が発車してしまっているこ
とや, 次の普通列車の次には急行がある程度の時間をお
いてから来るなどといったことがわかる. これらアナロ
グ表示および文字による時刻表は時間の経過とともに更
新されてゆく.
【0109】C.2.6. オプション設定 C.2.6.1. メニューオプション この時刻表のオプション設定について説明する. オプシ
ョン設定はメニューバーの “Options”と “Auto”の
ところから行う. なお “Auto”の表示は選択したもの
によって, “Auto”, “Holiday”, “NonHoliday”に
表示を変更する. それぞれのPull Downメニューを図8
および図9に示す. 図8および図9はインストール時の
ディフォルトの設定になっている. メニューの設定はプ
ログラムスタート時にini ファイルから読み取るように
なっているが, 最初のプログラム起動時にはディフォル
トの値を設定する. “ScheduleOn”を選択すると(す
なわち,チェックしていると), 時刻表を表示する状態
になる. 選択していないと, アナログ時計の表示のみと
なる. “SecondHandOn”を選択していると, 秒針を表
示する. “MultiLineDisplayOn”を選択すると, 図7
のように文字によって直近の3列車まで表示する. 選択
されていないときは, 1列車のみを表示する(図1
0). DiaclockをDesktop Windowの隅に小さく表示した
りするときには1列車のみの表示の方が見やすい. メニ
ュー設定は前回プログラムを終了したときの状態で設定
される. “StartupForceScheduleOff”を選択していな
いと, プログラムを終了したときにScheduleOnを選択し
ていると次回プログラムを起動した時にも時刻表を表示
する. たとえば, オフィス等からの帰宅時に単なる時計
から時刻表として表示し, 列車の時刻の確認後そのまま
システムをシャットダウンして帰宅したりすると, 翌朝
のシステムスタート時にも時刻表が表示されてしまう.
そこで, “StartupForceScheduleOff”を設定している
と(チェックしていると), 前回の終了時の状態とは関
係なく必ず時刻表は表示されない状態で立ち上がる.
“StartupWithLastFileOn”を選択しているとプログラ
ム起動時に前回最後にloadしたデータファイルをloadす
る. オフィスからの帰宅等で使用するときには, データ
ファイルを頻繁に変更しない. これを選択しておくと,
ScheduleOnボタンを押すだけで, 時刻表の表示が可能と
なり便利である.
【0110】C.2.6.2. Plane表示のオプション DigitalPaneとは時刻表の文字列を表示している部分を
さす. DigitalPlane, ToolBar, StatusBarはトグルスイ
ッチになっており, それぞれの表示領域の有無を制御す
る. 三領域とも無くした状態を図11に示す. “Hel
p”は現在未実装になっている. “VersionInfo.”はプ
ログラムのバージョンおよびcopyrightを表示する.
【0111】C.2.6.3. Cursorオプション Cursorのオプション(“CursorOn”, “Cursor Minute
s”)はアナログ時刻表にとって重要なオプションであ
る. オフィス等でこの時刻表を利用する目的の一つは,
駅における待ち時間を少なくすることである. すなわ
ち, いつ帰宅の準備をはじめオフィスを出発すれば最も
駅での待ち時間が少なくなるかがわかるようにする. 従
来は時刻表の時間から駅までの時間を引いて(頭のなか
で計算して)帰宅の準備を始める時間を決めていた. た
とえは, 帰宅の準備を始めてから12分で駅に到着すると
する. このようなときにはメニュー中の “Cursor Minu
tes”を12分に設定する. そして, “CursorOn”を選択
する. そのように設定した例を図12に示す.
【0112】図12では, 18:43と18:44の間のスペード
のマークがCursorである. すなわち現在時刻から, 12分
先の所にマークを入れることにより, 18:31分に帰宅の
準備を始めるとCursorのある時刻(18:43)に駅(より具
体的にはプラットホーム)に到着する事がわかる. 駅で
の列車待ち時間は, 18:48の三角印とスペードのマーク
の時間(4分)である事がわかる. 文字表示の一番右の
カラムも駅での待ち時間を表示しており, 4分以内に帰
宅の準備を始めると18:47分の列車に乗車できることが
わかる. “BeepOnTime”はこの駅での待ち時間が0分に
なったときにビープ音を鳴らす. もちろん “Cursor Mi
nutes”を0分にしていると, 列車の発車時刻にビープ音
が鳴る. ツールバーの2番目のボタンは “CursorOn”と
同じ機能である.
【0113】C.2.6.4. アナログ時刻表の文字表示オプ
ション “ClockStringLength:”はアナログ時刻表中に行き先の
表示を文字表示により行うものである. 1を選ぶと行き
先の最初の1文字を, 2を選ぶと最初の2文字を分目盛
りの内側に表示する. 0文字から4文字まで選択でき
る. なお, すでに発車してしまった列車に関しては3分
前までに限って, 0文字以外を選択している時に, 行き
先の最初の文字のみを分目盛りの外側に表示する. 1文
字を選択した例を図13に3文字を選択した例を図14
に示す. 文字の方向は8分から37分までが内側から外
側へ向かって書かれており, 残りは外側から内側に向か
って書かれている. 図13, 図14, 図28以外の図は
0文字が選択されている.
【0114】4.2.6.5. Auto/Holiday/NonHoliday Auto, Holiday, NonHolidayメニュー(図9)でAutoを
選択すると, 日付に基づいて列車時刻表の平日, 休日,
土曜等の運行パターンを自動的に切り替えて表示する.
強制的に平日や休日に変更したい場合は, Holidayまた
はNonHolidayを選択する.
【0115】C.2.6.6. その他のオプション(Other Opt
ions…) “Other Options…” を選択すると通常使用しないオプ
ションがオープンする.“BackGroundColor”ボタンを押
すと, 図15のように, 色の選択Window(Java2のJColor
Chooser)がオープンする. このWindowで色を選択すると
アナログ時刻表のWindowのバックグラウンドカラーを変
更できる. DiaclockJ1の時刻表ファイルはXMLファイル
フォーマットで保存する. したがって, XMLファイルが
日本語のときはEncodingがShift_JISであることを示す
必要がある. また, DTDの場所も指定しなければならな
い. バックグラウンドのボタンの次に − Encoding − DocTypeSystemId − KickProgramOnTrainTime の3個のオプション設定がある. 最初の2個がXMLファ
イル保存時に必要なものであり, 最後の1個が外部プロ
グラム起動のためのものである.XMLファイルにEncoding
の設定が必要なときに, “Need Encoding”をチェック
しEncodingの文字列を記入する. Encodingの文字列が書
かれていても, Encodingのチェックがないと保存される
XMLファイルにEncodingの文字列は書き込まれない. XML
ファイルが日本語のときには, Shift_JISを入れる必要
がある.
【0116】新たに, XMLファイルを作成するか, load
されているXMLファイルのSystemIdを変更する場合には
“Enable Change:”をチェックし, DTDのファイルのあ
るPathとDTDのファイル名をTextフィールドに書く. Tex
tフィールドにSystemIdが書かれていても, チェックし
ないと, SystemIdは変更されない. 新規に作成する時に
は必ずチェックし書き込む必要がある.
【0117】Beepが鳴るのと同じ時間に外部プログラム
を起動したいときに, “KickProgramOnTrainTime”を
チェックし, 起動するプログラムのPathとFile名をText
フィールドに書く. また外部プログラムに渡すargument
の数も選択する必要がある. Argumentを出さないときに
は “0”を選択する. 具体的なプログラム例に関して
は, 「セクションC.2.8. 発車アナウンス外部プログラ
ム参照」.
【0118】C.2.7. データの編集 データを編集するには, “File”プルダウンメニューの
“Edit Data”を押すことにより, 図17のWindowが表
示される.この編集Windowは3つの領域に分かれる.(図
27が参考になる) − 左側のリストがloadされている列車のすべての
リストの領域で, − 右側の上部8行目までで, 駅の情報や列車すべ
てに関わる情報を表示している. − 右側の “TimeSelection…” , “TrainSelect
ion…”, “Destionation”ボタン以下が特定の列車の
情報の表示および追加・更新のための領域である. Data
ファイルload直後にはXMLファイルの最後に書かれてい
た列車のデータが表示されている.
【0119】C.2.7.1. リスト領域の内容(Window左
側) リスト中の各行が一つの列車を表示している. 一行目を
例にすると, 左から次の項目を示す. − (W)か(H)により, 平日(Weekday)の列車なのか
休日(Holiday)の列車なのかの別. (S)はSaturday − 00:06により, 列車の発車時刻 − (00)により, 列車の色番号 − 「普通」により, 列車の種別 − 「江ノ島」により, 行き先 なお, 文字の色は設定されている色番号の色である. リ
ストはスライドバーにより上下し, 平日の列車(W)群の
あとに, 休日(H)の列車が続く. リスト中の列車をクリ
ックすることで列車を選び, 右側の列車情報表示領域に
列車情報を表示する. “Delete”ボタンを押すと, マウ
スにより選択されたリスト中の単数もしくは複数のデー
タが消去される.
【0120】 C.2.7.2. 駅や列車全体に関する情報(Window右上) 左から右, 上から下に順に, − stationName: 駅名 (ステータスバーの文字列の一部を 成す) − lineName: 路線名 (ステータスバーの文字列の一部を成 す) − Operator Name: 運行主体名 (ステータスバーの文字列の一部 を成す) − ServicePattern: サービスパターン(平日休日パターン) − upDown: 上り下り (ステータスバーの文字列の一部を成 す) − bookVersion: 時刻表データバージョン − Data Description: データメモ(「2002/10/10改正」等の文字列 ) − CM < 20 characters: 広告(アナログ時計左下の文字列) − ColorNoMap…: 色番号マッピング (後述) − HolidayTable…: 休日表 (後述) bookVersionはデータ作成者が管理するデータのバージ
ョンに使用し, このプログラムのXMLのフォーマットに
関わるバージョンではない. “Data Description:”に
は何を書いてもよいが, 原則として, 時刻表改定日ある
いは有効期限等を入力する. DiaclockJ1において, この
2つのデータはいずれも時計のWindowに表示される事は
ない.
【0121】C.2.7.2.1. ColorNoMapとHolidayTable ColorNoMapボタンを押すと図18がオープンし, 列車の
色番号に対して色を設定できる. “SetColorNo…”の
ボタンを押すと, 図16と同様なWindowが現れ,色を決
めることが出来る. HolidayTableボタンを押すと図19
が表示され, 休日の設定ができる. 一番上のText 領域
に日付を書き込み “Add”ボタンを押すとデータを追加
する. リスト中の日付を選択し“Delete”ボタンを押す
とデータを削除する. − Ordinary Holidayは通常の国民の祝日を書く − Holiday if On Mondayは月曜の振り替え休日を
適用する休日には, 国民の祝日の次の日を記入する.
(月曜がリスト中の日付なら, 休日にするという意味) − Holiday if On the Yearは第二月曜日を休日と
するといった決め方をする休日に関しては, あらかじめ
何年か先までのそれにあたる日付を年度も含め書いてお
く. 列車運行主体が単発的に休日を設定するときにも,
このリストにその日付を書いておく.この休日のテーブ
ルが存在することにより, メニューバーでAutoを選択し
ていると休日には自動的に休日の時刻表を表示する.
【0122】C.2.7.3. 列車に関する情報 (Window右
下) 列車のデータ入力にはキーボードからのText 入力によ
る方法とマウスボタンによる選択により入力する方法と
がある.
【0123】C.2.7.3.1. キーボードからの列車データ
の追加・変更 列車に関する情報の編集は図17Window右下の部分で行
う. Window左側のリストをクリックするとリスト上のデ
ータを表示する事ができる. 次のデータ中, 上の3つの
データがkeyとなり, “Add/Change”ボタンによりデー
タをアップデートする. − ServiceDayOfWeek: 平日(W)か休日(H)か土曜(S)の列車の データかを選択. − DepartureHour(0-23): 発車時刻(時) − DepartureMinute(0-59): 発車時刻(分) − TrainType1(Text): 列車種別 − TrainType1ColorNo(0-15): 列車種別色 (文字の色が選択され た色を示す) − DestinationStation1(Text): 行き先 たとえば, 時間を訂正した時には, 元の時刻のデータは
残っている. よって, 元のデータが必要なければ, 消去
する必要がある. 追加または変更されたデータは左側の
リストその他に反映する. 時刻を入力するText領域は半
角数字のみを入力する. (数字以外は入力できなくなっ
ており, 25時といった数字を入れた場合は, 追加・変更
しても何もおきなくしている. ただし, 警告メッセージ
は出さない. )
【0124】C.2.7.3.2. マウス入力による列車データ
入力 1個, 2個の列車のデータは上記Text領域を使用して入
力するればよい. 多くの列車データを入力する場合は,
“TimeSelect…”, “TrainSelect…”, “Destination
…”ボタンを押し3個の Windowを開き, マウスにより
効率よくデータを入力できる. それらのWindowを図2
0, 図21, 図22に示す. Time Input Window: “TimeSelect…”ボタンを押すと
TimeInput Window(図20)が現れる. このWindowから
列車の平日休日土曜別と発車時刻をマウスで選択でき
る. また, “Edit Data” Window中の “add/delete”
ボタンと同じ機能である “AddTrain”ボタンを押すこ
とにより列車データを追加・変更できる. また, “Edit
Data”Window中のデータもWindow Input Windowの入力
に同期して更新する. ただし, 列車種別と色番号, 行き
先は他の2つの入力アシストWindowから選ぶ.
【0125】Type Select Window: “TrainSelect”ボ
タンを押すとTypeSelect Window(図21)が現れる.
このWindowからマウスのクリックにより列車種別(Train
Type1)と列車種別色(TrainTypeColorNo)がセットで選択
できる. 各ColorNoに対して列車種別を一つ決めてText
領域にキーボードから列車種別名を入力できる. また,G
etNameFromListボタンを押すと, すでにloadしているTr
ainType1ColorNoとそれに対応した列車種別を自動的にT
ext領域に書き込む. (loadされているデータ中でTrain
Type1とTrainType1ColorNoの組み合わせが一つでない場
合は, 図17のWindow左側のリスト中のセットで後に出
てくるものが優先される. )なお, Time Input Window
と同様に“Edit Data” Window中のデータはType Selec
t Windowの入力に同期して更新する.
【0126】Destination Select Window: “Destinat
ion Select”ボタンもType Select Windowと同様に, マ
ウスのクリックにより行き先(DestinationStation1)が
選択できる(図22). あらかじめ, 行き先をWindow上
部のText領域から下側のリストに追加・削除でき, リス
ト中の行き先をマウスで選択することにより行き先を選
択する. また, “GetNames”ボタンを押すと, すでにlo
adしているDestinationStation1のすべての行き先名を
自動的にリストに書き込む. なお, Time Input Window
と同様にEdit Data Window中のデータはDestination Se
lect Windowの入力に同期して更新する. C.2.8. 発車アナウンス外部プログラム 図15中の “KickProgramOnTime:”中で, “KickProg
ram”にチェックする.そして, “Program”のtext領域
に “c:\Program Files\Diaclock\AudioProgram\playwa
ve4.exe” (DiaclockのInstall Directoryを特に指定し
なかった場合)と書き込む. そして, Number of Cmd Arg
umentで “5”を選択する. するとBeepを鳴らす時刻と
同じ時刻にたとえば, 「あと6分で, 18:55発, 急行,
藤沢行きの発車時刻です. 」といったアナウンスをす
る.
【0127】D. DiaclockJ1のBean設計 D.1. 基本設計 D.1.1. MVC Model DiaclockJ1のBean構成はMVC(Model-View-Controller)デ
ザインパラダイムに基づいて構成している. (Erich Gam
ma, Richard Helm, Ralph Johnson, John Vissides : D
esign Patterns, Addison wesley, 1997)
【0128】MVCデザインパラダイムは1970年代にXerox
のPaloAlto Research CenterのSmallTalk開発者によっ
て提唱された. 基本的な考え方は, プログラムをModel,
View,Controllerの3つの部分に分けることである. そ
れぞれの部分は他の部分に影響をあたえることなく, 追
加, 交換可能である.
【0129】Modelは, アプリケーションのデータであ
り, そのデータを変更するメソッドも定義している. こ
のModelは複数のViewとControllerオブジェクトで共有
する.データの実体はこのModelから作成する. ViewとCo
ntrollerはこの抽象的なModelにアクセスすることによ
り, 最終的には実体としてのDataを変更する.
【0130】Viewは, Modelのデータプレゼンテーショ
ンの手段を提供する. このプレゼンテーションはGUIの
こともあれば, 音声やBeepのこともある. DiaclockJ1も
この3つを提供している. また, Viewはネストすること
が可能である. ネストしたViewからは, 抽象的なModel
のインターフェイスを経由してデータに容易にアクセス
できる. DiaclockJ1では, このネストがGUIのほぼ全部
で活用されている.
【0131】Controllerは, 利用者の入力や環境情報を
集め, Modelに入力する. 通常はModelのデータの作成・
追加・変更である. なお, ViewとControllerの両方の機
能を兼ね備えた部分をDelegateと呼ぶ.
【0132】ModelとViewまたはControllerの間はevent
とevent listenerのプロトコルで結ばれている. このプ
ロトコルにより, データの変更が容易にViewに反映でき
る. DiaclockJ1でデータの入力・変更と同時にアナログ
表示もデジタル表示も変更可能なのはこのプロトコルの
活用による.
【0133】これらModelの抽象化, Viewのネスト, eve
ntのプロトコルの考え方は, 有用なものである. しか
し, 開発Toolがないと理屈は美しいが実際のプログラミ
ングは大変な労力を必要とする. 今回は開発Toolとし
て, IBM VisualAge for Java3.5を使用した. IBM Visua
lAge for Javaにより容易にMVCデザインパラダイムをプ
ログラムに実装できる.
【0134】D.1.2. DiaclockJ1のMVC Bean構成 図23にDiaclockJ1の主なBean構成を示す. DiaclockJ1
の主なBeanは3つのMVCカテゴリーに分類できる. 図2
3の‘V’がViewを ‘C’がControllerを, ‘M’がMod
elを示している. 矢印はデータの流れる向きを示してい
る.
【0135】図23の中心に大きく書いているBean(St
ationTrainBookModel)がDiaclockJ1のModelに相当す
る. そのBeanの周りにViewあるいはControllerのBeanを
配置している. とにはViewあるいはControllerの記
述がないが, 分類するとすればControllerになる. 1つ
のデータ(StationTrainBookModel)に対し10個のV
iewでデータを表現している. Holiday Data Modelは
中心のデータモデルではなく, XMLファイル中にある休
日データをModelにしたものである. このModelには1つ
のView(Holiday List V/C)のみが対応している.
【0136】アナログ時計と時刻表を形成するViewがAn
alog Clock V, Digital Clock V(15), Menu V/Cで
ある. この3つのViewがネストして1つのViewを作り,
起動直後のWindowを形成する. 同様に, Trans List V/C
, A train V/C, およびStation V/C(10)もネストし
て1つのViewを作りデータ入力Windowを形成する. その
他のViewは独立したWindowを形成する. Time Button V/
C(13), TrainType V/C(12), Destination V/C(10)は,
それぞれ独立してデータ入力アシストWindowを形成す
る. ColorMap Table V/C(14)は, 列車種別を表す色設定
Windowを形成する. それぞれのViewの中には, ネストさ
れたViewが存在し, 抽象化されたModelインターフェイ
スによりデータにアクセスする.
【0137】XMLファイルの時刻表データは, DOM Parse
rを経由して, StationTrainBookModel Mのデータに
書き込まれる. また, GUIで編集されたデータはJDOM Wr
iterを経由して, XMLファイルに書き込まれる. XMLフ
ァイルの祝祭日データは, 時刻表データとは分離され,
Holiday Data Mで処理する. 祝祭日データの更新はHo
liday List V/Cから可能になっている. なお, XMLの
データ構造はセクションE.に説明している.
【0138】図23のBeanは次のように分類できる (M)Model , (V)View , , , , , (10), (10), (12), (13), (14), ( 15) (C)Controller , , , , (10), (10), (12), (13), (14)
【0139】 D.1.3. DiaclockJ1の操作とBeanの関係 次に, 図23中のBeanと前セクションC.で説明したDiac
lockJ1の操作との関係を説明する.図4から “File Ope
n…”を選ぶとファイル選択画面(図5)がオープンす
る.この図4のPull downメニュー内の機能が, Menu V/C
の一部分である. 図5の選択画面からXMLファイルを
選ぶと, DOM Parserが動作し, XMLファイルからStati
onTrainBookModelとHoliday Data Modelにデータを
loadする.
【0140】LoadしたデータはOptionsメニューのセッ
ティングが “ScheduleOn”であれば,StationTrainBook
Model中のデータ配列であるStationTrains(セクショ
ン5.2.1で説明)の Dataに基づきAnalog ClockとDigit
al Clock(15)によってアナログとデジタルの時刻表を表
示する. これらの表示は, 時刻の進行とともに表示を更
新してゆく.
【0141】LoadしているStationTrainsのDataとHolid
ay Dataを更新したければ, Pull downメニュー内の “E
dit Data…”を選択することにより, Train List V/C
, Station V/C, A train V/C(10)を含んだ “Data
Edit Window”(図17, 図27)を表示する. Train L
ist V/CにListの形(図17左側, 図27)で文字列
による列車の情報を表示する. Station V/C(図17
右上, 図27)には駅の情報が, A train V/C(10)(図
17右下, 図27)には1つの列車の情報を表示してい
る(XMLファイルload直後は, DOM Parserが最後にload
した列車の情報を表示している). データを追加・変更
するにはStation V/CとA train V/C(10)のText Field
に表示されている文字列を変更し, Add/Changeボタンを
押す. このときデータ選択・追加・変更のkeyとなる情
報は列車発車時刻(時と分)である.
【0142】Analog Clock VとDigital Clock Vで
表示される列車種別の色を変えたければ, 上記 “Data
Edit Window”中の “ColorNoMap…”ボタンを押す事に
より,Color Map Table V/C(14)(図18)が起動されカ
ラー番号に対する色のRGB値を変更できる. また, 休日
を追加・変更したければ, 同様に “Holiday Table”ボ
タンにより, Holiday V/C(図19)を起動し休日のT
ableを追加・変更できる. ただし, 図23の主なBean構
成のデータの流れからも明らかなように, 休日の情報Ho
liday Data Mは現在表示されている時刻表データには
影響を与えない.XMLファイルに保存するときにのみ意味
をもつ. 現在表示されている時刻表データの休日情報
は, XMLファイルからデータをloadするときにXMLファイ
ルからHoliday Data Mを経由せずに読み込まれてい
る.
【0143】Station V/C(10)とA Train V/Cでの入力
をより効率よく行うために, Time Button V/C(13)(図
20), Train Type V/C(12)(図21), Destination
V/C(10)(図22)によるWindowがそれぞれオープンで
きる. 上記 “Data Edit Window”(図17)中の “Time
Select…”, “Train Select…”, “Destination
…”ボタンによって起動されるWindowがそれぞれに対応
している.
【0144】更新したデータを保存するには, Menu V/C
のPull downメニュー “Save As…”ボタンを押す事
により, saveするファイル選択画面を表示しファイル名
を決めると, JDOM Writerが起動し, StationTrainBoo
kModelとHoliday DataのデータをXMLファイルにsto
reする.
【0145】D.2. 各Beanに関する説明 次に, 図23のBeanを6つの項目に分けて, おのおのの
Beanを説明する(セクションD.2.1−セクションD.2.
6). そして最後のセクションD.2.7で, デジタル時刻表
表示部分のDigitalDisplay Beanに組み込まれた, 列車
発車時刻に対応した外部プログラム起動機能に関する説
明をする.セクションD.2.1では, プログラムの中心とな
る時刻表のデータBean (StationTrainBookModel)を
説明する.セクションD.2.2では, StationTrainBookMode
l内のBeanであるStationTrainDataModel(16)(後出
図24)を説明する. 同時に, StationTrainBookModel
で使用されるその他のDataを保持するBean, すなわち
ColorMapTable Bean(ColorMap Table V/C(14)), List
HolidayBookModel(Holiday Data V/C), およびList
HolidayJListUI(Holiday List V/C)を説明し, 最後
に, StationTrainDataModelで使用するStationTrainDat
aFactoryModel Interfaceについて説明する.セクション
D.2.3では, DiaclockJ1の主な表示部分を, アナログ時
刻表表示部分(Analog Clock V), デジタル時刻表表
示部分(Digital Clock V(15)), メニュー表示部分(M
enu V/C)に分けて, それぞれを構成するBeanを説明
する.また, 時刻表および時計の描画手順も合わせて説
明する.セクションD.2.4では, 時刻表データ作成のため
の中心的View/ControllerであるEditDataJFrame1 Bean
((10))を説明する. このBeanを構成するStationT
rainBookEntryFormUI(Station V/C(10)), StationTra
inDataEntryFormUI2(A Train V/C), StationTrainB
ookJListUI(Train List V/C)を説明する.セクショ
ンD.2.5では, 上記EditDataJFrame1のデータ作成をより
効率的にするための, 3つのData Input Assist Window
View/ControllerであるDestinationV/C(10), Train Ty
pe V/C(12), Time Button V/C(13)を説明する.セクショ
ンD.2.6においては, 時刻表のXMLファイルをStationTra
inBookModelに読み込むDOM ParserとStationTrainB
ookModelのDataをXMLファイルに書き出すJDOM Writer
を説明する.
【0146】D.2.1. StationTrainBookModel このBeanは図23ののBeanである. 図23からもわか
るように, このBeanがDiaclockJ1プログラムのもっとも
中核的なデータを持つBeanである. 図24にStationTra
inBookModel内のプロパティーを示す. このBean内の3
個のプロパティーは配列になっており, 図24では枠を
付けて表現している. stationTrainsはStationTrainDat
aModel(16)のオブジェクトの配列であり, 各列車の情報
オブジェクトの配列になっている. strColorsはString
の配列で, 列車の色番号(0−15)に対し, それぞれ
の色のRGB値を示す. mcHolidayTableは一年における日
付(月と日)が休日かどうかを表現する. 残りのプロパ
ティーは駅に関する情報になっている.StationTrainBoo
kModelはJavaのInterfaceとして定義しており, Inter
faeの実体として, ListStationTrainBook bean(図示し
ていない)が定義されている. ListStationTrainBook b
eanに一つの駅の上りあるいは下りの時刻表のデータを
格納している. ListStationTrainBookのプロパティー
は, 路線名, 駅名といった駅に関するプロパティーの集
合と, 駅を発車する各列車の集合のプロパティー(stat
ionTrains)から構成されている. 各プロパティーはse
t, getといったメソッドにより変更や読み出しが行え
る. たとえば, setStationName(string), getStationNa
me()等である. また各列車の読み出し, 追加, 削除のた
めのメソッドとしてfindTrain, addTrain, delete等の
メソッドもこのinterface内にある. ListStationTrainB
ook beanの名前は, あたかもこの列車をList構造で格納
しているような印象を与えるが, 各列車のオブジェクト
(stationTrains)は列車の発車時間([servicePatternN
o][hour][minute](セクションD.2.2に変数の説明はあ
る))を変数とする配列構造で格納されている. プログ
ラミング初期の段階では, List構造にすることを考えて
いた. しかし, 実際には配列構造で扱うのが便利と判断
しList構造の実装にはならなかった. 名前もArray等に
変換すべきだがそのままになった. 次にそれぞれのプロ
パティーとメソッドの説明をする.
【0147】プロパティー :strColorsはXMLのtraffic:
colorNoMapping(セクションE.で説明する)に対応して
いる. その他のプロパティーはそれぞれのプロパティー
の名前の頭に “traffic:”を付けると, XMLのElement
名になる. − String bookDescription : 時刻表の改正日等
を記述した時刻表に関する文字列 − String bookDisplayMsg : DiaclockJ1が表示し
ている時刻表データ全体についてDiaclock J1が必要な
らば表示するための文字列 (今回使用せず e.g.「運用
調整中」) − String bookVersion : 時刻表データのバージ
ョンを表示する文字列 − GregorianCalendar effectiveDate : 時刻表デ
ータの有効になる日付(今回使用せず) − GregorianCalendar expireDate : 時刻表デー
タの無効になる日付(今回使用せず) − String lineName : 路線名 − int[][] mcHolidayTable : 休日を示す配列Tab
le 変数は月と日. このデータはXMLファイルのtraffi
c:holidayデータをもとに, ファイルがloadされる年度
に従って, その年の祝祭日のデータをloadし, 時刻表の
休日の制御に使用する. (このため, DiaclockJ1は年度
をまたがって祝日を自動制御するとtraffic:yearのデー
タはXMLをloadした年のデータのままとなる. ) − String msgDisplay : 広告等に使用する文字列
でXMLデータ作成者が使用する. DiaclockJ1においては,
アナログ時計左下のところに平日には灰色で,休日には
赤で20文字以内でmsgDisplayの文字列を表示する. − String operatorName : 運行事業主体名 − String originator : 時刻表データ製作主体名
(今回使用せず) − GregorianCalendar preparationDate : 時刻表
データを作成した日付(今回使用せず) − int servicePattern : 曜日による運行パター
ン. 運行主体の路線によって決まる. − 0 : Mon-Sun − 1 : Mon-Fri, Sat-Sun − 2 : Mon-Fri, Sat, Sun − 3 : Mon-Sat, Sun − String stationName : 駅名 − String stationNameSecondLang : 駅名の第二
外国語の文字列(今回は使用せず) − StationTrainDataModel[][][] stationTrains
: 列車オブジェクト (オブジェクトの中身は後述のS
tationTrainDataModelで説明する)XML のtraffic:stat
ionTrainsに対応する. − String[] strColors : 列車の色番号に対する
色の値(R,G,B)のstring(たとえば, strColors[0]は ”
255,255,255”で白を表す). XMLファイルをloadしたと
きには, XMLファイルのtraffic:colorNoMappingがらの
データになっている. − int upDown : 列車の上り下り − 0 : unknown − 1 : up stream − 2 : down stream
【0148】メソッド : −void addTrain(StationTrainDataModel stationTrai
n) : StationTrainBookModelに一つの列車を追加する − boolean delete(int servicePatternNo, int h
our, int minute) : StationTrainBookModelから指定さ
れた列車を削除する − StationTrainDataModel findTrain(int servic
ePatternNo, int departureHour, int depatrureMinut
e) : StationTrainBookModelから指定された時間の列車
のオブジェクトを返す − void updateComplete() : XMLファイル等から
データを読み込んだときに, すべてのデータが読み込ま
れたことを知らせる
【0149】 D.2.2. StationTrainDataModel(16), 他のModel セクションD.2.2では, StationTrainBookModel内のBean
であるStationTrainDataModel(16)(図24)を説明す
る. そして, StationTrainBookModelで使用するその他
のDataを保持するBean, すなわちColorMapTable Bean
(Color Map Table(14)), ListHolidayBookModel(Hol
iday Data), およびListHolidayJListUI(Holiday L
ist)を説明し, 最後に, StationTrainDataModelで使
用するStationTrainDataFactoryModel Interfaceについ
て説明する.
【0150】StationTrainDataModel(16)はStationTrai
nBookModel内のJavaのinterfaceでSimpleStationTrai
nData beanがその実体となっている. この実体としての
beanが時刻表中の各列車のプロパティーを保存してい
る. 各SimpleStationTrainDataデータをListStationTra
inBook 中のaddTrain, delete等のメソッドが, ListSta
tionTrainBookに一列車のデータとして, 追加・削除す
る. データ構造は, 発車時刻をindexとした配列構造に
なっており, StationTrainDataModel[3][24][60]で宣言
し, 最初のindex(3)で平日・休日・土曜等の週におけ
る列車の選択を行い, 次のindex(24)で一日の時間(ho
ur)における選択を行い, 最後のindex(60)で一時間中
の分(minute)の選択を行っている. 現在のデータ構造は
同一時間に発車する列車は一本だけであると仮定してい
る. (複数にするにはStationTrainDataModel[3][24][6
0][2]といったように構造を拡張すればよい.)
【0151】次にStationTrainDataModel(16)内のプロ
パティーを説明する. StationTrainBookModelと同様に,
各プロパティーはset, getといったメソッドにより変
更や読み出しが行える. (e.g. getDeparutreHour())s
tationTrainBookModelと同様に,traffic:のprefixをつ
けると, XMLのElement(Chap.E)に対応している. Trai
nType1, TrainType2等2つのプロパティーがあるのは,
二種の列車が連結されて運転している場合に対応するた
めである.
【0152】 プロパティー : − String additionalInfo1 : 列車に関する追加情報1(今回使用せず) − String additionalInfo2 : 列車に関する追加情報2(今回使用せず) − int arrivalHour : 列車到着時刻(時間)(今回使用せず) − int arrivalMinute : 列車到着時刻(分)(今回使用せず) − int departureHour : 列車発車時刻(時間) − int deparutreMintue : 列車発車時刻(分) − String destinationStation1 : 終着駅名1 − String destinationStation1ShortForm : 終着駅名1略記. (今回使用 せず) − String destinationStation2 : 終着駅名2(途中駅での列車分割等の ため. 今回使用せず) − String destinationStation2ShortForm : 終着駅名2略記. (今回使用 せず) − String mark : イメージ等による列車のマークのファイル名(今回使用 せず) − int nonOperationDayOfWeek : 特別な運休曜日 (e.g. 4 : 水曜運休. 今回使用せず) − int numCars : 車両編成数 Number of Cars(今回使用せず) − int operationDayAttensionType : 運転日注意列車 (今回使用せず) − int operationDayOfWeek : 特別な運転曜日 (e.g. 4 : 水曜日のみ運 転. 今回使用せず) − String remark : 特記事項(今回使用せず) − int servicePatternNo : サービスパターン番号 − servicePattern 0 (Mon-Sun)において0 : Mon-Sun − servicePattern 1 (Mon-Fri, Sat-Sun)において 0 : Mon-Fri, 1 : Sat -Sun − servicePattern 2 (Mon-Fri, Sat, Sun)において 0 : Mon-Fri, 1 : S un, 2 : Sat (Sundayが2で, Saturdayが3) − servicePattern 3 (Mon-Sat, Sun)において 0 : Mon-Sat, 1 : Sun − String sourceStation1 : 始発駅名1(今回使用せず) − String sourceStation2 : 始発駅名2(途中駅での列車連結等のため. 今回使用せず) − int track : 入線番号(今回使用せず) − String trainID1 : 列車識別子(今回使用せず) − String trainID2 : 列車識別子(途中駅での列車分割等のため. 今回使 用せず) − int trainType1ColorNo : 列車種別1のカラー番号(0−15) − String trainType2 : 列車種別2(途中駅での列車分割等のため. 今回 使用せず) − int trainType2ColorNo : 列車種別2のカラー番号(0−15)(今回 使用せず)
【0153】D.2.2.1. ColorMapTable Bean (Color Map
Table V/C(14)) ColorMapTable Beanは図23のColor Map Table V/C(1
4)に対応する. ColorMapTable BeanはStationTrainBook
Model中のstrColorsの配列の値を参照または更新するた
めのJFrame Window(図18)である. EditDataJFram
e1 Window( “Data Edit Widnow” 図17)のColorMa
pTable ボタンを押すと現れる. ColorMapTableのViewは
図18となる. たとえばtrainType1ColorNo(セクショ
ン5.2.2のプロパティー)を0に設定しているとtrainTyp
e1の色はstrColors[0]のStringであるRGBによって色が
決まる. strColors[0]のstringの値が “255,255,255”
とすると, trainType1の色は白と決まる. 同様にstrCol
ors[1]が”128,128,128”であれば, trainType1の色は
灰色と決まる. 図18のGUI上では”SetColorNo0…”ボ
タンを押すと, 色選択メニュー(図16と同様なWindo
w)をオープンし, 色の選択を行う事によりstrColors
[0]のstringが更新でき, 結果としてtrainType1の色を
更新する.
【0154】D.2.2.2. ListHolidayBookModel (Holiday
Data M) ListHolidayBookModelは, 図23のHoliday Data Mに
対応している. これは,祭日, 祝日, 振り替え休日のTab
leを扱うInterfaceで, 次の3つのプロパティーからな
る. このinterfaceの実体はListHolidayBook beanであ
る. それぞれのプロパティーに対応するメソッドはget
のみが定義されている. このBeanの使用例は次のListHo
lidayBookJListUI Beanにある. − LinkedList ListDay : 休日のStringオブジェ
クトのList. 通常の祝日,祭日 “07/20”等のStringオ
ブジェクトで構成している. XML Elementのtraffic:day
に対応している. − LinkedList ListMonday : 月曜振替休日のStri
ngオブジェクトのList.“07/20”が日曜日であれば,
“07/21”が月曜で振り替え休日である. したがって,
このTableには “07/21”のStringオブジェクトを書き
込む. このデータを使用するプログラムは, “07/21”
が月曜ならば7月21日を休日と判断する. XMLElementのt
raffic:mondayに対応している. − LinkedList ListYear : 年によって変わる休日
のStringオブジェクトのList. 一月の第二月曜を祝日と
するといった年度によって祝日日が変わる休日は, 年度
を付けたStringにより休日を表現する. たとえば “200
1/01/08”. XMLElementのtraffic:yearに対応してい
る.
【0155】D.2.2.3. ListHolidayBookJListUI Bean
(Holiday List V/C) ListHolidayBookJListUI Beanは図23のに対応する.
ListHolidayBookJListUI Beanは次の3つのBeanをまと
めた(並べた)Windowで, EditDataJFrame1 Window (図
17)のHolidayTable ボタンを押すと現れる. 図19に
“HolidayTables”として ListHolidayBookJListUIの
ユーザーインターフェースが示されている.ユーザーの
シナリオとしては, XMLファイルを “File Open…”か
ら選択, そしてloadすることにより, ListHolidayBook
beanにListDay, ListMonday, ListYearのデータがload
される. そのデータを更新したいときにのみこのListHo
lidayBookJListUIを使用する. 日本では休日の指定は交
通機関によって大きく変化することはないが, もとのデ
ータに対する変更は容易にできるようにこのインターフ
ェースが準備されている. もちろん, すでにあるXMLデ
ータをloadして変更しsaveするだけではなく, 一番最初
から休日データを作成するときにも使用できる. − ListDayJListUI : 上記ListDayにStringオブジ
ェクトを追加・削除するインターフェース. また, この
インターフェースは起動時にListHolidayBook中にList
構造で存在するListDayのオブジェクトをリストユーザ
ーインターフェース(図19中一番左のリスト)に追加
する. − ListMondayJListUI : 上記ListMondayにString
オブジェクトを追加・削除するインターフェース. ま
た, このインターフェース起動時にListHolidayBook中
にList構造で存在するListMondayのオブジェクトをリス
トユーザーインターフェース(図19中真中のリスト)
に追加する. − ListYearJListUI : 上記ListYearにStringオブ
ジェクトを追加・削除するインターフェース. また, イ
ンターフェース起動時にListHolidayBook中にList構造
で存在するListYearのオブジェクトをリストユーザーイ
ンターフェース(図19中一番右のリスト)に追加す
る.
【0156】D.2.2.4. StationTrainDataFactoryModel
interface StationTrainDataFactoryModelはStationTrainDataMode
lのJAVA interfaceを持つオブジェクトを作成するため
のinterfaceである. これは, オブジェクト作成のため
のModelである. したがって, いずれの図の中にも記述
されていない. このModelはcreateメソッドによりStati
onTrainDataModelのinterfaceを持ったオブジェクトを
作成する. このinterfaceを実装したオブジェクトはSim
pleStationTrainDataFactoryであり, このオブジェクト
により列車のデータSimpleStationTrainDataがcreateメ
ソッドにより作成され, ListStationTrainBook中のstat
ionTransの配列の一つのデータとなる. 実際には, List
StationTrainBook中のaddTrainメソッド中で一つの列車
のデータを与えることにより, 上記createメッソドを呼
び出し, stationTrainsのデータを作成している. また,
EditDataJFrame1(Data Edit Window)から新たにsimp
leStationTrainDataを作り, 更新したりするときにもこ
のcreateメソッドを呼びしてデータを作成している.
【0157】 D.2.3. DiaclockJ1 Main Window (, , (15)) セクションD.2.3では, DiaclockJ1のMain Windowを, ア
ナログ時刻表表示部分,デジタル時刻表表示部分, メニ
ュー表示部分に分けて, それぞれを構成するBeanを説明
する. 同時に, 時刻表時計の描画手順も合わせて説明す
る.このBeanがDiaclockJ1の中心となるView(図3)を
もつBeanであり, main()を含む. プログラムを起動する
とこのMain WindowであるDiaclockJ1 Beanが起動する.
主にアナログ時刻表時計部分(Windowの上部約2/3)
とデジタル時刻表部分(15)(Windowの下部約1/3), お
よびメニュー部分から成っている. D.2.3.1. アナログ時計時刻表部分 (Analog Clock V) アナログ時刻表時計部分(Analog Clock V)はJPanel
をextendsした4つのbeanを重ねることにより一つのアナ
ログ時刻表時計(図7上部)を構成している.JPanelをe
xtendsしたBean(図26)は下の層から順に, 次のよう
になる. − ClockDots : このDiaclockプログラムの特徴と
なる機能, すなわちアナログ時計上の列車の発車時刻を
表す印と列車の行き先を表示する四文字までの文字列を
表示する. また, アナログ時計上のCMメッセージや上り
下りの表示を兼ねた印(マーク), 休日(赤)と平日(薄
い灰色), もこのモジュールにより表示される. − ClockScale2 : アナログ時計の分目盛りをこの
モジュールで表示する.(ClockScale2文字列の最後の2
には深い意味は無い. インプリメントの都合上付いたに
過ぎない. ) − ClockHands2 : アナログ時計の時針と分針をこ
のモジュールで表示する. (同上) − SecondHand : アナログ時計の秒針をこのモジ
ュールで表示する. それぞれのJPanelは透明に設定されており, 針などのオ
ブジェクトのない部分は下のbeanが透けて見えるように
なっている.
【0158】D.2.3.1.1. ClockDots Beanの動作 : 次にClockDotsの描画のための動作手順と描画が行われ
るタイミングを簡単に説明する. 次の番号順にプログラ
ムの制御が移っていく. 1. 画面がFrame Windowの大きさに従って伸び縮み
するように座標系を設定する. 2. Windowの表示にあうClippingを行う. 3. メニューの設定が列車時刻表の表示(Schedule
On)の状態であれば, 次の手順に進む, そうでなければ
ClockDotsの手順を終わる. 4. 現在時刻および曜日を取得し, 0時, 1時, 2
時台の時には前日の曜日で列車の表示を行うように列車
データ取得用の曜日変数を調整する. 5. 曜日と祝祭日およびServicePatternにより, ど
の時刻表Tableからデータを参照すればよいか決める.
すなわちStationTrainDataModel[3][24][60]のTableの
うち, 最初のindexの値を0か, 1か, 2かを決定する.
さらに換言すると, どのservicePatternNoの時刻を参
照すればよいかを決める. このとき, メニューからマニ
ュアルでHoliday, NonHoliday等の設定のあるときは,
実際の曜日に関係なくマニュアルの設定にあったTable
の参照を行う. 6. アナログ時計上のCM Messageおよび上り下りの
表示を兼ねた休日平日の表示を行う. 7. 参照すべきTableのデータに基づき, 0分から
49分先の時間までに発車する列車があれば, その列車
のstrColorsのColorNoおよび終着駅名のStringを取得
し, そして, アナログ時計の分目盛りの外側にColorNo
の色の三角印, 内側にメニューで設定した長さまで終着
駅名を描画する. 1分から10分前までに発車した列車
があれば, その列車のstrColorsのColorNoおよび終着駅
名のStringを取得し, アナログ時計の分目盛りの内側に
ColorNoの色の小さめの三角印, 外側に終着駅名の先頭
一文字を描画する. ただし外側の文字は1分から3分前
までに限り表示する.次のタイミングで上記手順の描画
を行う. ただし, 描画の前には, 以前の描画を無効にす
る. − プログラムの最初の起動時. − JPanelにおいてこのJPanelより上位にあるCloc
kHands2 (またはClockSecond)のTimerが切れClockHands
2 (またはClockSecond)の再描画を行うとき. − メニュー入力, 新しいファイルのload等, 時間
以外の内容を更新するとき. たとえば, 行き先文字数の
変更, 列車の内容の変更等である. − プログラムがminimize/restore等のシステムの
要因で再描画を必要とするとき.
【0159】分目盛り近傍に表示する終着駅名の描画の
手順は次のとおりである. 1. 分目盛りの内側に文字列を書く場合は,特定の時
刻(分)における外側から内側(中心)に向かう文字列
の各文字の描画位置を決める.分目盛りの外側に書く場
合は外側の1文字の描画位置を決める. 2. 表示用にコピーした一時的な文字列変数に関し
て,終着駅名がメニューで設定した値より大きいときに
は,設定した値より大きい文字数の文字は切り捨て,文字
列をメニューで設定した文字数の文字列に変換する. メ
ニューで設定した値より大きくないときには,文字列に
変更は加えない. 3. 分目盛りの外側に描画するときと,内側に描画す
るときとで,場合に分ける. 4. 外側に描画するときは文字列の先頭の1文字のみを
描画する. 5. 内側に描画する時には文字数によって場合を分け
る.これは分目盛りの一番近い位置に文字が必ずそろう
ようにするために次のようにする. 6. 1文字を描画する時には,分目盛りに一番近い内側
の文字の場所に1文字描画する.2文字を描画するときに
は,分目盛りが8分から37分のところだと,外側から2番目
の場所に文字列の先頭の文字を描画し,外側から1番目の
場所に文字列の2番目の文字を描画する.8分から37分以
外のところでは外側から1番目の場所に文字列の先頭の
文字を描画し,外側から2番目の場所に文字列の2番目の
文字を描画する.3文字を描画する時には, 分目盛りが8
分から37分のところだと,外側から3番目の場所に文字列
の先頭の文字を描画し,外側から2番目の場所に文字列の
2番目の文字を描画し, 外側から3番目の場所に文字列の
1番目の文字を描画する.以下同様.
【0160】D.2.3.1.2. ClockScale2 Beanの動作 : 画面がFrame Windowの大きさに従って伸び縮みする設定
は, このClockScaleの下の層のClockDotsで行う. した
がって, ClockScale2ではClippingのみを行い, 時計の
目盛りを描画する.次のタイミングでClockScale2の描画
を行う. ただし, 描画の前には, 以前の描画を無効にす
る. − プログラムの最初の起動時. − JPanelにおいてこのJPanelより上位にあるCloc
kHands2 (またはClockSecond)のTimerが切れClockHands
2 (またはClockSecond)の再描画を行うとき. − メニュー入力, 新しいファイルのload等時間以
外の内容を更新したとき. たとえば, 行き先文字数の変
更, 列車の内容の変更等である. − プログラムがminimize/restore等のシステムの
要因で再描画を必要とするとき.
【0161】D.2.3.1.3. ClockHands2 Beanの動作 : 画面がFrame Windowの大きさに従って伸び縮みする設定
は, ClockScale2と同様に, ClockDotsで行う. したがっ
て, ClockHands2ではClippingのみを行い, 時計の針を
描画する.ClockHands2は次の3つの描画および更新を行
う. − 現在時刻の時針と分針の描画 − ユーザーが駅に到着する予想時刻を指すカーソ
ル(緑の細長いスペードの印) : 現在時刻から何分先
にユーザーが駅に到着するかをメニューから設定するよ
うになっており, その値に従って現在時刻に対するカー
ソルの位置を描画する. − メニューアイコンボタン右横に日付と曜日の短
縮形を表示するためのClockHands2 Bean内のStringの更
新(日付もしくは曜日のプロパティーが更新されるとev
entが発生し, メニューアイコン横の日付も更新され
る). なおClockHands2 Beanが起動すると最初にClockHands2
用のTimerを起動し, 最初の描画を行う. Timerがexpire
するとTimer eventが発生し, 分単位の時刻の更新があ
れば, 以前の描画を無効にし, 上記の3つの再描画を行
う. Timer event以外の再描画はClockScale2と同様であ
る.
【0162】D.2.3.1.4. SecondHand Beanの動作 : SecondHandは秒針の描画のみを行う. ClockHands2と同
様にSecondHand Bean起動時にSecondHand用Timerを起動
し, メニューが秒針を表示する設定(SecondHandOn)に
なっていれば秒針を描画する. Timerがexpireしたとき
も, メニューの設定が秒針表示に設定されていれば, 秒
針の描画を行う. 秒針が描画されると, 結果として, 秒
針の下側にあるJPanelをextendsした3つのbeanも再描画
される. この下層のbeanの再描画により, 最上位の秒針
が通り過ぎても下層で描画されているものが崩れること
はない.
【0163】D.2.3.2. デジタル時刻表部分 (Digital C
lock V(15)) デジタル時刻表部分(図7下部)はDigitalDisplay bea
n (Digital Clock(15))で構成されている. D.2.3.2.1. DigitalDisplay beanの動作 : デジタル時刻表部分はアナログ時刻表部分からは独立し
て動作するBeanで構成している. 実際にはJPanelをexte
ndsしたDigitalDisplay bean上に, StationTrainBookMo
delのデータに基づいて, 直近に発車する列車を文字で
表示している. 表示はメニューの選択により直近の1列
車のみを表示するか, あるいは3列車までを表示するか
を選択できる. また, メニューの設定により, DigitalD
isplayはユーザーが駅までの時間として設定した時間前
に列車が発車することを知らせるBeep音を出すことがで
きる. 同様に, メニュー設定に基づき, 特定の外部プロ
グラムを起動する事も出来る(セクションD.2.7に外部
プログラムの例がある). 次にDigitalDisplay beanに
おけるデジタル時刻表部分の描画手順を示す. 次の番号
順にプログラムの制御が移って行く. 1. メニュー設定が, 列車時刻表の表示( “Sched
uleOn”)の状態であれば, 次の手順に進む, そうでな
ければこのbeanの手順を終わる. 2. 現在時刻および曜日を取得し, 0時, 1時, 2
時台の時には前日の曜日で列車の表示を行うように列車
データ取得用の曜日変数を調整する. 3. 曜日と祝祭日およびServicePatternにより, ど
の時刻表Tableからデータを参照すればよいか決める.
すなわちStationTrainDataModel[3][24][60]のTableの
うち, 最初のindexの値を0か, 1か, 2かを決定する.
さらに換言すると, どのservicePatternNoの時刻を参
照すればよいかを決める. このとき, メニューからマニ
ュアルでHoliday, NonHoliday等の設定のあるときは,
それに従ったindexによるTableの参照を行う. 4. ユーザーの駅到着時刻から直近の3本の列車の
発車時刻とユーザーの駅到着時刻から列車発車までの時
刻をデータ配列に保存する. 当日中(ただし, 3:00amま
で)に3本の列車の無いときは3本以下の本数で保存す
る. 5. 画面内の文字がDiaclockJ1 JFrame Windowの大
きさに比例して伸び縮みするように座標系を設定する. 6. 上記保存したデータの時刻からそれぞれの列車
の種別と行き先を調べ,その列車種別の色をstrColorsと
trainType1ColorNoから求め, 列車の発車時刻,種別, 行
き先, ユーザーの駅到着時刻から発車までの時間, を色
つきの文字で表示する. この文字表示は, メニュー選択
で, multipleLineDisplayOnが選ばれておれば3列車
(3行)まで表示を行い, そうでなければ1列車(1
行)のみをDigitalDisplayのJPanelいっぱいに行う. 7. ユーザーの駅到着時刻に発車列車があると, Be
epを鳴らす. Beepを鳴らすのはメニューの設定でBeepを
鳴らすように設定しているときに限る. 8. ユーザーの駅到着時刻に発車列車があると, あ
らかじめメニュー(図15)で設定されていた外部プロ
グラムを起動する. プログラムを起動するのはメニュー
設定でプログラムを起動するように設定しているときに
限る. なおメニューでプログラム名を記入すると同時
に, プログラムのargument数もメニューから設定する.
メニューで設定したargumentの個数まで, DiaclockJ1プ
ログラムは外部プログラムに対してargumentを渡す. ar
gumentの内容を次に記述する. − argument1 : プログラムの起動をもたらした列車の終着駅名(des tinationStation1). 行き先駅名がNULL stringのときは文字列 “null”をargu mentとして渡す. − argument2 : プログラムの起動をもたらした列車の列車種別(tr ainType1). 列車種別がNULL stringのときは文字列 “null”をargumentとして 渡す. − argument3 : プログラムの起動をもたらした列車の発車時刻(時)のstri ng(departureHour). − argument4 : プログラムの起動をもたらした列車の発車時刻(分) のstring(departureMinute) − argument5 : ユーザーが設定した駅到着までの時間のstring(st rCursorMinute) − argument6 : 列車種別カラー番号のstring 上記手順は, メニューで “ScheduleOn”が選択されて
いるときには描画を行うが, 選択されていないときには
描画のみならずBeepやプログラム起動も行わない. すな
わち, “ScheduleOn”がチェックされていないとBeepや
プログラム起動のチェックも無効になる.DigitalDispla
y beanの起動と同時にDigitalDisplay用のTimerが起動
される. Timerの処理ルーチン(actionPerformed)は新た
な分に進んだときのみ, DigitalDisplayの再描画を行
う. 次に描画の行われるタイミングをリストする. − プログラムの最初の起動時. − DigitalDisplayのTimerのeventの処理ルーチン
で新たな分に時間が進んだことがわかったとき. − メニュー入力, 新しいファイルのload等, 時間
以外の内容が更新されたとき. たとえば, 表示行数の変
更, 列車の内容の変更等である. − プログラムがminimize/restore等のシステムの
要因で再描画を必要とするとき.
【0164】D.2.3.3. メニュー部分 ( Menu) メニュー部分は, 次の3つのカテゴリーに分かれる. − File pull down menu (図4) − Options pull down menu(図8) − Other options(図8 “Other Options…”,
図15) 平日時刻表か休日時刻表か等を決めるservicePatternNo
設定の手動・自動の選択(auto, holiday, nonHolida
y)も上記の二番目のOption pull down menuの範疇に入
る. それぞれのメニューボタンの動作説明を次に簡単に
説明する.
【0165】D.2.3.3.1. File pull down menu (図
4) File pull down menuは次のものがある. − “File Open…” : このボタンを押すとFileSe
lect beanが呼び出され,ユーザーはJavaのJfileChooser
画面からファイルを選択できる. 選択されたファイルは
XMLのDOM Parser(Apache Xerces)によりparseされ
る. そのparseされたデータはDomStationTrain bean(D
OM Parser)によりListStationTrainBookに書き込
まれる. − “URI Open…” : このボタンを押すと, Java
のJOptionPane.showInputDialogが表示されユーザーはU
RIを入力する. 入力したURIはXMLのDOM Parserによりp
arseされる. そのparseされたデータはDomStationTrain
bean(DOM Parser)によりListStationTrainBook
に書き込まれる. − “SaveAs…” : このボタンを押すと, XmlFile
SelectForSave bean(図示しない)が呼び出され, ユー
ザーはJavaのJfileChooser画面からSave先のファイルを
選択できる. 選択が完了するとJdomStationSchedule(J
DOM Writer)が呼び出され, 選択されたファイルにLi
stStationTrainBookの内容をXMLフォーマットで保存(sa
ve)する. − “Edit Data…” : このボタンを押すと, Edit
DataJFrame1 Window(セクションD.2.4 Data Edit Wind
ow)を表示する. − “Exit” : DiaclockJ1プログラムを終了する.
【0166】D.2.3.3.2. Options pull down menu (図
8) 次のメニュー選択で使用するboolean変数やString変数
等はDiaclockJ1 bean内のプロパティーとして存在しメ
ニュー選択の状態を保存する. この変数の値はプログラ
ム終了時に次のプログラムの立ち上げ時のパラメタとし
てDiaclock.iniファイルに保存する. プログラム中に状
態を保存するための変数が存在するメニューアイテムに
関しては, 次の箇条書きのカッコ内にプログラム中の変
数名を示す.ただし, DigitalPane, ToolBar, StatusBar
に関しては, DiaclockJ1内の状態を保存するSaveOption
s()メソッドがsave時に状態をチェックしてDiaclock.in
iに保存するので状態を保存するための変数はない. な
お, Diaclock.iniファイルにはloadしているファイル名
やDiaclockJ1のWindowの画面の大きさや位置も保存す
る. − “ScheduleOn” : このボタンの選択により, b
oolean変数mbTrainOnStateがtrueにセットされ, アナロ
グ時刻表とデジタル時刻表の描画が行われ, 選択されて
いないとアナログ時計の表示のみとなる. (boolean mb
TrainOnState) − “SecondHandOn” : ScheduleOnと同様に, 選
択していると秒針を描画し, していないと秒針を描画し
ない. (boolean mbSecondHand) − “MultiLineDispalyOn” : このボタンを選択
しているとデジタル時刻表部分の表示を直近の3列車ま
で(3行で表示)行うが, 選択していないと直近の1列
車のみ表示する. (boolean multiDisplay) − “StartupForceScheduleOff” : このボタンを
選択していると, ScheduleOnのままプログラムを終了し
ても, プログラムが次回立ち上がる時には, ScheduleOn
が選択されず, 時刻表の表示なしで立ち上がる. このス
イッチはオフィス等から帰宅するときに列車の時刻を確
認してそのままPCをshutdownして帰宅し,翌朝PCを立ち
上げても時刻表を表示しないようにするためである. 朝
オフィスに到着しPCを立ち上げた直後にも時刻表が必要
な人はこのスイッチを選択しない.(boolean clockOnl
y) − “StartupWithLastFileOn” : このボタンを選
択していると, プログラムの立ち上げと同時に前回load
していたFileをloadする. 同一駅の同一方向の駅の時刻
表のみを毎日使用したりする人は, このスイッチを選択
しておくと, ScheduleOnのスイッチ(特にアイコン)の
みで, オフィス等からの帰宅時に列車の時刻を確認でき
る. (boolean initialFileLoad) − “OtherOptions…” : このボタンを押すと他
のオプションWindow(DiaclockJ1 Option Window)を表
示する. − “BeepOnTime” : このボタンを選択している
と, ユーザーの駅到着時刻に列車があるとき, Beep音を
ならす. たとえば, 現在が8:00p.m.で駅まで10分のとこ
ろのオフィスにいるとすると, ユーザーの駅到着時刻
(Cursorの時刻)は8:10p.m.となる. 8:10p.m.に列車が
あれば8:00p.m.にBeep音が鳴るので, ユーザーにとって
はBeep音がオフィスの出発合図となる. (boolean bBee
p) − “CursorOn” : このボタンを選択していると,
ユーザーの駅到着時刻を指す細長いスペードのような
印を表示する. (boolean mbCursor) − “CursorMinutes” : この値(分)の設定によ
り, ユーザーが駅に到着するまでの時間を設定する. 上
記BeepOnTimeの説明においては, ユーザーはオフィスか
ら駅までの時間として10分を設定している. (String s
trCursorMinute) − “ClockStringLength” : この値(文字数 0-
4)の選択により, アナログ時刻表の中に表示される列
車の終着駅名の文字数を決めている. 0を選ぶと終着駅
名の文字は表示されない. (String strDotStrLength) − “DigitalPane” : このボタンはトグルボタン
になっており, トグルするとデジタル表示部分が現れた
り, 無くなったりする. 無くなった時には, Diaclockの
WindowのContent全体をアナログ時刻表時計で占める.
(図11) − “Tool Bar” : このボタンをトグルすると, T
ool Barが現れたり, 無くなったりする. − “Status Bar” : このボタンをトグルすると,
Status Barが現れたり,無くなったりする. − “Help” : このボタンを押すと, Helpがまだ
インプリメントされていないというメッセージをDialog
に表示する. (将来HelpのHTMLファイルを呼ぶようにす
る予定. ) − “Version Info” : このボタンを押すと, Ver
sion Informationを表示する. − “Auto, Holiday, NonHoliday” : Autoを選択
すると土曜も含め休日と平日が自動的に選択される. Ho
lidayを選択すると, システムの日付が実際に休日であ
るかないかに関わり無く, 休日運転の時刻表を表示す
る. NonHolidayを選択すると, 平日であるかないかに関
わり無く, 平日運転の時刻表を表示する. (土曜日を強
制的に選択するサポートはない. )
【0167】D.2.3.3.3. Other options…(図15) Other options…には次のものがある. − “BackGroundColor” : このボタンを押すと,
JavaのJColorChooserが呼ばれ, Diaclockのバックグラ
ウンドカラーを選択できる. (DiaclockJ1 bean内のupd
ateBackGroundColor()が呼び出され, その中でJcolorCh
ooserがよばれる. ) − “Need Encoding” : このチェックボックスを
チェックすると, ListStationTrainBookのデータをXML
ファイルに保存(save)するときに, encodingを指定でき
る. Shift_JISをdefaultで表示している. これは本来XM
Lのloadしたファイルから取ってくるべきものであるに
もかかわらず, 本プログラムでは, Diaclockのini file
から取ってきている. その理由はDOM Level2ではencodi
ngをプログラムで読み出せなかったためである. DOM Le
vel3では読み出されるように改良されると予測されてい
る. したがって, 将来的には, ini fileからとって来る
必要はない. (boolean bEncoding) − “Enable change” : このチェックボックスを
チェックすると, ListStationTrainBookのデータをXML
ファイルに保存(save)するときに, ボックスの下に書か
れているStringでXML file中のsystemIdを更新できる.
(boolean bDocTypeSystemIdChange) − “KickProgramOnTrainTime” : このチェック
ボックスをチェックすると, Beepが鳴るのと同じタイミ
ングで, チェックボックスの下に書かれた外部プログラ
ムを起動する. このときプログラムに渡すargumentの数
をNumberOfCmdArgumentから選べる. (bKickProgram)
【0168】D.2.4. Data Edit Window (EditData
JFrame1) Data Edit Window (EditDataJFrame1)は3つのView/Cont
rollerのBean(, ,(10))で構成している(図2
7). 図4のFile Pull Downメニューの “Edit Dat
a...”のボタンを押すことにより “Diaclock Edit Dat
a” Window (プログラム内のJFrame名はEditDataJFram
e1)がオープンする(図17).Edit Data Windowの右
上, 右下, 左側の順に, 次のBeanで構成している. − StationTrainBookEntryFormUI : 駅の情報(Lis
tStationTrainBook)のView/Controller (Station V/C
(10)) − StationTrainDataEntryFormUI2 : 一つの列車
のデータ(SimpleStationTrainData)のView/Controlle
r(A Train V/C) − StationTrainBookJListUI : 全列車のデータリ
スト(stationTrains)のView/Controller(Train List V
/C) Bean名中のUIはUser Interfaceであることを示す.
【0169】D.2.4.1. StationTrainBookEntryFormUI B
ean (Station V/C(10)) Data Edit Window (EditDataJFrame1)の右上部にJPanel
からextendsしたStationTrainBookEntryFormUI bean(S
tation V/C(10))を表示する. StationTrainBookEntryF
ormUIはListStationTrainBookの列車データ(stationTra
ins)以外のプロパティー値を表示・入力・更新すること
ができる. StationTrainBookEntryFormUIには次の表示
および入力域がある. − StationName :(駅名)ListStationTrainBook
のプロパティString stationNameを表示および変更する
Text領域 (JTextFeild). − LineName : (路線名)ListStationTrainBook
のプロパティString lineNameを表示および変更するTex
t領域 (JTextFeild). − OperatorName : (事業社名)ListStationTrai
nBookのプロパティString operatorNameを表示および変
更するText領域 (JTextFeild). − ServicePattern : (運行パターン)ListStati
onTrainBookのプロパティint servicePatternを表示お
よび選択するリスト (JComboBox). 次の4つから選択で
きる. また選択したものはリストを閉じた状態のtext領
域に表示する. (0) Mon-Sun (servicePattern 0) (1) Mon-Fri, Sat-Sun (servicePattern 1) (2) Mon-Fri, Sat, Sun (servicePattern 2) (3) Mon-Sat, Sun (servicePattern 3) − UpDown : (上り下り)ListStationTrainBook
のプロパティint upDownを表示および選択するリスト
(JComboBox). 次の3つから選択できる. また選択してい
るものがリストを閉じた状態のtext fieldに表示してい
る. ・ None (upDown 0) ・ Up Stream (upDown 1) ・ Down Stream (upDown 2) − BookVersion : (バージョン)ListStationTra
inBookのプロパティString bookVersionを表示および変
更するText領域 (JTextFeild). − BookDescription : (時刻表改正日等)ListSt
ationTrainBookのプロパティString bookDescriptionを
表示および変更するText領域 (JTextFeild). − CM < 20 characters : (広告, お知らせ等)L
istStationTrainBookのプロパティString bookDisplayM
sgを表示および変更するText領域 (JTextFeild). 20文
字未満. − ColorNoMap… : (カラーマッピングWindowボ
タン)ListStationTrainBookのプロパティString strCo
lors内の配列を表示および変更するためのWindow(Color
Map Table V/C(14))(図18)を表示するボタン(JBot
tun). − HolidayTable… : (休日表Windowボタン)Lis
tStationTrainBookのプロパティString mcHoliday内の
休日を示す配列を決める元となる休日情報の表示および
変更を行うためのWindow (Holiday List V/C)(図1
9)を表示するボタン(JBottun).
【0170】具体的なデータ入力イベントの処理は次の
とおりである. 1.入力域内の文字の変更や選択した項目に変更があれ
ば,イベントが発生する. 2.StationTrainBookModelのインターフェイスを経由
して,スケジュールデータの実体であるListStationTrai
nBook beanを変更する. 3.上記2の結果としてのListStationTrainBook中のプ
ロパティの変更は,データのイベントリスナ(MVCデザイ
ンにおけるView)に対する新たなイベントを発生する. 4.上記3のイベントはそのイベントリスナのbean中の
メソッドを実行し,イベントリスナのbeanのViewを更新
する. たとえば,"CM<20 characters"欄のコマーシャルメッセ
ージを更新すると,一文字ずつの更新にしたがって,アナ
ログ時計表示域内のメッセージを更新する(図28の"C
lockClub Presents").なお,ListStationTrainBook中の
情報は,XMLファイルに保存できる.したがって,コマーシ
ャルメッセージもXMLファイル内に保存している.コマー
シャルメッセージを含むXMLファイルをロードしたとき
にはDiaclockJ1はアナログ時計上にXMLファイル中のテ
キストを表示する.これらの機能により,時刻表データ作
成者は, DiaclockJ1ユーザのアナログ時計上にデータ作
成者が作成したコマーシャルメッセージを表示できる.
【0171】D.2.4.2. StationTrainDataEntryFormUI2
(A Train V/C) Data Edit Window(EditDataJFrame1)図17の右下部
にJPanelからextendsしたStationTrainDataEntryFormUI
2 bean(A Train V/C)を表示している. (StationTr
ainDataEntryFormUI1は存在しない. インプリメントの
都合上「2」というsuffixが付いた. )StationTrainDat
aEntryFormUI2はListStationTrainBookの列車データ配
列(stationTrains)の各要素を表示, 入力, または更新
することができる. StationTrainDataEntryFormUI2上の
データはSimpleStationTrainDataの内容を表示してい
る. そして “add/change”ボタンにより, ListStation
TrainBookにデータを追加・変更するときには, Station
TrainDataFactoryModelを通して,SimpleStationTrainDa
taと同じ内容のコピーをListStationTrainBookに追加・
変更する. また, StationTrainBookJListUI内の列車を
マウスで選んだときには,ListStationTrainBook内の新
たに選ばれたstationTrains中の要素のコピーをSimpleS
tationTrainDataの内容として表示する.StationTrainDa
taEntryFormUI2には次の表示および入力域がある. − ServiceDayOfWeek : (運行曜日カテゴリー)S
impleStationTrainDataのプロパティint ServicePatter
nNoを表示および選択するリスト (JComboBox).ServiceP
atternにもとづいて次のような値をリストする. また選
ばれているものをリストを閉じた状態の領域に表示して
いる. ・servicePattern 0, (Mon-Sun)で 0 : (W) Mon-Sun ・servicePattern 1, (Mon-Fri, Sat-Sun)で 0 : (W) M
on-Fri, 1 : (H) Sat-Sun ・servicePattern 2, (Mon-Fri, Sat, Sun)で 0 : (W)
Mon-Fri, 1 : (H) Sun,2 : (S) Sat (Sundayが2で, S
aturdayが3に注意) ・servicePattern 3, (Mon-Sat, Sun)で 0 : (W) Mon-
Sat, 1 : (H) Sun − DepartureHour :(発車時間(時))SimpleSta
tionTrainDataのプロパティString departureHourを表
示および変更するText領域 (JTextFeild). − DepartureMinute :(発車時間(分))SimpleS
tationTrainDataのプロパティString departureMinute
を表示および変更するText領域 (JTextFeild). − TrainType1 : (列車種別)SimpleStationTrai
nDataのプロパティString trainType1を表示および変更
するText領域 (JTextFeild). − TrainType1ColorNo : (列車種別1のカラー番
号)SimpleStationTrainDataのプロパティint trainTyp
e1ColorNoを表示および選択するリスト (JComboBox).
また, 選ばれているものをリストを閉じた状態の領域に
表示している. ColorMapTable BeanにおけるColorの値
の変更がこのリストの文字の色にも反映される. Color
のdefault値はColorMapTable Beanの値なので, 左からR
GBの順で次のようになる. ColorNo0 : 0,0,0 (black) ColorNo1 : 0,0,255 (blue) ColorNo2 : 255,0,0 (red) ColorNo3 : 0,128,0 (dark green) ColorNo4 : 0,128,128 (dark cyan) ColorNo5 : 128,0,0 (dark red) ColorNo6 : 255,0,255 (pink) ColorNo7 : 0,0,128 (dark blue) ColorNo8 : 128,0,128 (dark pink) ColorNo9 : 128,128,0 (dark yellow) ColorNo10 : 128,128,128 (dark gray) ColorNo11 : 0,255,0 (green) ColorNo12 : 0,255,255 (cyan) ColorNo13 : 255,255,0 (yellow) ColorNo14 : 192,192,192 (gray) ColorNo15 : 255,255,255 (white) − DestinationStation1 : (終着駅名)SimpleSt
ationTrainDataのプロパティString destinationStatio
n1を表示および変更するText領域 (JTextFeild). − Add/Changeボタン : 表示しているStationTrai
nDataEntryFormUI2の値を, ListStationTrainBookのsta
tionTrainsの配列の要素として付加するか, データの変
更が行われる. − TimeSelect… ボタン : (時間選択)TimeSel
ectボタンを押すとTimeButton bean(Time Button V/C
(13))を起動し, 列車のServiceDayOfWeek(servicePat
ternNo)と列車の発車時刻の入力がマウスのみで行える
Windowをオープンする. またそのWindowの中に上記Add/
Changeボタンと同じ機能を持つボタンも含む. (セクシ
ョンD.2.5) − TypeSelect… ボタン : (列車種別選択) Typ
eSelectボタンを押すとTrainTypeSelection bean(Trai
n Type V/C(12))を起動し, 列車種別trainType1と列車
種別色番号trainType1ColorNoの入力をマウスの選択で
行える. (セクションD.2.5) − Destination…ボタン : (終着駅名選択)Dest
inationボタンを押すとStationNameJFrameUI bean(Des
tination V/C(10))を起動し, 終着駅名DestinationSta
tion1の入力がマウスの選択で行える. (セクションD.
2.5)なお,TrainType1(Text),DestinationStation(Tex
t)欄には任意の文字を入力することができる. よって,D
estinationStation1(Text)中に「食事」や「会議」とい
った文字列を入力でき,列車時刻表中に個人のスケジュ
ールを入力できる.
【0172】D.2.4.3. StationTrainBookJListUI ( T
rains List) Data Edit Window (EditDataJFrame1)図17の左側に
JPanelからextendsしたStationTrainBookJListUI bean
(Train List V/C)を表示する. StationTrainBookJL
istUI2はListStationTrainBookの列車データ配列(stati
onTrains)のおのおの要素であるSimpleStationTrainDat
a中の複数のプロパティー値をリストの1行で表示してい
る. リスト中の文字は, JavaのListCellRendererにより
SimpleStationTrainDataのtrainType1ColorNoの値に従
って色が塗られている. また, リスト中の選択された最
初の値を右側のStationTrainDataEntryFormUI2に表示し
ている. 選択した値は, Deleteボタンを押すことによ
り, 列車データ配列(stationTrains)から削除もできる.
【0173】D.2.5. Data Input Assist Windows 本項では, 上記Data Edit Window (EditDataJFrame1)の
データ作成を効率的にするための3つのData Input Ass
ist Window View/Controller(Train Button V/C(13),
Train Type V/C(12), Destination V/C(10))を説明す
る.理想的にはXMLの時刻表データは列車の運行主体が用
意するか, 運行主体が用意した運行データからデータ変
換によりDiaclockJ1用のデータが準備されるのが望まし
い. しかし, 2001年現在そのような環境は整っていな
い. 従って, 手入力で時刻表を準備する手段を用意する
事は重要な時刻表の機能である. また, DiaclockJ1を列
車の時刻表以外の目的に使用する時にも, 手入力の機能
は欠くことができない. DiaclockJ1で, 前項StationTra
inDataEntryFormUI2を使用すると, 少数の列車のデータ
を書き換えたり, 新たに追加したりするのは容易に行え
る. しかし, 一つの駅の(上りか下りの一方だけでも)
データを準備するのに, StationTrainDataEntryFrumUI2
を使うだけだと, 一つの列車のデータ入力だけで10秒単
位の時間がかかってしまう. そこで, より早く時刻表デ
ータを準備するために3つの入力Window画面をStationT
rainDataEntryFormUI2に加えて準備している. 主に2つ
の条件を満たすように入力Windowは準備された. 一つは
マウスの操作のみで一つの列車のデータ入力を可能にす
ること. 二つ目はすでに存在するデータを活用できるよ
うにすることである. 二つ目の条件は, たとえばダイヤ
改正等で今まで使用していたデータ等を書き換えなけれ
ばいけないとき等に有効である. なぜならば, ダイヤ改
正以前のダイヤ中の列車種別名や終着駅名はだいたいに
おいて, 改正後のものでも有効であるからである. ま
た, 同様に, 隣の駅の時刻表を利用して新しい駅の時刻
表を作成する時などにも有効である.
【0174】D.2.5.1. TimeButton Bean (Time Button
V/C(13)) 時刻データ入力を容易にするためのWindowがJFrameをex
tendsしたTimeButton beanのWindow(図20)である.
Window FrameのTitle名は “Time Input”である. 構成
要素はWindowの上部から順に, 次のものである. − 発車時刻 HH:MM − add/change button − servicePatternNo − last added time (前回add/changeボタンが押
された発車時刻) − hour buttons (0-23) − minute buttons (0-59) 発車時刻HH:MM, add/change button, servicePatternNo
それぞれは, StationTrainDataEntryFormUI2のDepartur
eHour, DepartureMinute, add/change button, Service
DayOfWeek(servicePatternNo)と同期している.
【0175】D.2.5.2. TrainTypeSelction Bean (Train
Type V/C(12)) 列車種別入力を容易にするためのWindowがJFrameをexte
ndsしたTrainTypeSelection bean(Train Type V/C(1
2))のWindow(図21)である. WindowのTitle名は
“TypeSelection”である. TrainType1ColorNo(0−1
5)それぞれに対して列車種別名(TrainType1)を割り当
てるようになっている. 使用しない色番号(TrainType1
ColorNo)のところは列車種別名はブランクでよい. そ
して, TrainType1ColorNo(“TypeSelection”Window中
の“ColorNo”)の16個中1個を選択すると, 選択されたT
rainType1ColorNoとTrainType1がStataionTrainDataMod
elをアップデートしStationTrainDataEntryFormUI2 (A
Train V/C)のTrainType1とTrainType1ColorNoにも反
映される. なおTypeSelectionでは列車種別名(TrainTyp
e1)と列車種別色番号(TrainType1ColorNo)を一対一対応
にしているが, これはTypeSelection Windowから入力す
るときの制限であり, StationTrainDataEntryFormUI2(A
Train V/C)から入力する時には任意の組み合わせで
差し支えない. もっとも, 通常, 列車種別と文字等の色
はセットで使用する. したがって, 多くの場合一対一対
応で問題ない. 改正前や隣の駅の時刻表をすでにloadし
ているときには, “GetNameFromList”ボタンを押すと
そのデータ中にある列車種別名(TrainType1)と列車種別
カラー番号を拾い出し, 列車種別名を対応する列車種別
色番号の場所に書き込む. このとき, 組み合わせの異な
るものが出てきたら, StationTrainBookJListUIのリス
ト中, 後に出てくるものを優先する.
【0176】D.2.5.3. StationNameJFrameUI Bean (Des
tination V/C(10)) 終着駅名の入力を容易にするためのWindowがJFrameをex
tendsしたStationNameJFramUI bean(Destination(1
0))のWindow(図22)である. Window FrameのTitle
名は “Destination”である. 最上部のtext領域(JText
Field)に終着駅名を入力しAddNameボタンを押すと, リ
スト中にその駅名を追加する. 逆にリスト中から駅名を
選んでDeleteNameボタンを押すとリスト中からそのデー
タを削除する.改正前や隣の駅の時刻表をすでにloadし
ているときには, “GetNames”ボタンを押すとそのデ
ータ中にある終着駅名(DestinationStation1)でDestina
tionのリスト中に存在しないものを書き加える. 最上部
のtext 領域(JTextField)とStationTrainDataEntryForm
UI2中のdestinationStation1は同期しており, StationT
rainDataModelのdestinationStation1に対応している.
destinationStation1を空白にしたいときには “Blank
Input”ボタンを押す.
【0177】 D.2.6. XML File Data Handling(, ) セクションD.2.6では, 時刻表のXMLファイルをStationT
rainBookModelに読み込むBeanとStationTrainBookModel
のDataをXMLファイルに書き出すBeanを説明する. 図4
の“File Open…”もしくは “URI Open…”メニューで
選んだXMLのファイルデータはDomStationTrain bean(D
OM Parser)によりListStationTrainBookに書き込ま
れる. ただし, XML ファイル中のDocumentType (DOCTYP
E)のsystemIDは, 別途プログラム中に保存する. また,
DOM Level2では, encoding情報をプログラムから読み出
すことができない. したがって, 保存(save)時には別途
指定したencodingの値を用いる(default値は, Shift_JI
S).StationTrainBookModelとStationTrainDataModelで
定義しているプロパティーの名前とXMLのDTDのElement
名は便宜上同一にしている. 実際にXMLファイルからDOM
Parser経由で読み込まれるElementは次のものである.
これら以外のElementは無視される. (XML Dataの詳し
い説明はセクションE.) − traffic:listStationTrainBook − traffic:stationTrains − traffic:servicePattern − traffic:bookVersion − traffic:bookDescription − traffic:msgDisplay − traffic:operatorName − traffic:lineName − traffic:stationName − traffic:upDown − traffic:holiday − traffic:colorNoMapping − traffic:departureHour − traffic:departureMinute − traffic:destinationStation1 − traffic:trainType1 − traffic:trainType1ColorNo − traffic:servicePatternNo − traffic:day − traffic:Monday − traffic:year − traffic:colorNo0 − traffic:colorNo1 − traffic:colorNo2 − ... − traffic:colorNo15 表示されているデータはDiaclock Data Edit Window(E
ditDataJFrame1 bean)(図17)を通してエディット
できる. このエディットしたデータをXMLファイルに保
存(save)するには, 図4のFileメニューの “SaveAs
…”ボタンを押すことにより, XmlFileSelectForSave b
ean(図示しない)を呼び出す. XmlFileSelectForSave
beanでは保存(save)するファイル名およびディレクトリ
を決め, 次にJdomStationSchedule (JDOM Writer)を
呼び出し, 選択されたファイルにStationTrainBookMode
lの内容をXMLフォーマットで保存(save)する. このと
きXMLファイルに保存(save)する情報は, 上記load時に
書き込まれた情報に対応するそれぞれのデータとDocume
ntType情報, および必要ならばencoding情報である.
【0178】D.2.6.1. DomStationTrain Bean (DOM Par
ser) DOM Parserには, Apache Xerces 1.0.4 ( http://xml.a
pache.org )を使用した.図23のBeanの構成図では, DO
M Parserと表現しているが, 実際には, DOM Parserを呼
びXMLファイルをParseするプログラムがDomStationTrai
n Beanになっている. XMLファイル中の必要なデータを
探し, データをModelに書き込んでいる.
【0179】D.2.6.2. JdomStationSchedule Bean (JDO
M Writer) データの保存(save)には, DOMではなくJDOM Parser ( h
ttp://www.jdom.org )を使用した. 図23のBeanの構成
図では, JDOM Writerと表現している. しかし,実際には
JdomStationSchedule Beanがファイルに書き出すModel
のデータを選び,JDOMを利用してXMLファイルに書き出し
ている.DocumentTypeの情報は, “Other options…”メ
ニューから起動されるWindow中(図15)のDocTypeSys
temId領域に表示されており, 必要に応じてアップデー
トできる. データ保存(save)時に“Enable Change:”を
チェックと, そのとき表示しているDocumentType情報を
保存(save)する. Encoding情報も同様にアップデートで
きる. ただし, encodingはXMLファイルに付加しないこ
ともできる. D.2.7. 外部プログラム起動 本項では, 列車発車時刻に対応した外部プログラム起動
機能について説明する.この機能は, デジタル時刻表表
示部分のBeanであるDigitalDisplay Beanに組み込んで
いる. DiaclockJ1はBeepを鳴らすのと同じタイミングで
任意の外部プログラムを起動することが出来る(図2
9). この機能により, 列車の発車時刻に連動させて,
ポップアップイメージを出力したり, アニメーションを
動かしたり, 音声アナウンスを入れたりできる.外部プ
ログラム起動機能はDigitalDisplay bean (Digital Clo
ck V(15))の中で処理している. DigitalDisplay Beanの
paintルーチンであるpaintComponent()の最後の部分で
列車の発車時刻と駅までの時間を考慮し, 外部プログラ
ムを呼び出している. また, これはbeepを鳴らすのと同
じタイミングである. 呼び出すべき外部プログラムとar
gumentの数は, 外部プログラムを呼び出すメニュー “K
ickProgramOnTrainTime”(図15)のところで指定で
きるようになっている. 次のargumentを順にargumentの
数に指定された数まで出力する. 1. arg1 : destinationStatin1 (Stringをそのまま出力) 2. arg2 : trainType1 (Stringをそのまま出力) 3. arg3 : departureHour (列車発車時刻(時)をStringに変換した値を出 力) 4. arg4 : departureMinute (列車発車時刻(分)をStringに変換した値を 出力) 5. arg5 : strCursorMinute (駅までの時間をStringに変換した値を出力 ) 6. arg6 : trainType1ColorNo (列車のColor番号をStringに変換した値を 出力) DigitalDisplay Beanから呼び出されるプログラムの一
つとして, 列車が来る時間をアナウンスするプログラム
を準備している. このプログラム(playwave4.exe)は,
次のようにwav fileをplayするプログラムである. play
wave4.exeのargumentをStringで順に “arg1”, “arg
2”, “arg3”, “arg4”, “arg5”とすると, 次の
順に音をならす. ファイル名がwavファイルの音になっ
ている. 1. あと.wav (「あと」) 2. arg5m.wav (例 :「5分」) 3. で.wav (「で」) 4. arg3h.wav (例 :「12時」) 5. arg4m.wav (例 :「23分」) 6. 発.wav (「発」) 7. arg2.wav (例 :「急行」) 8. arg1.wav (例 :「藤沢ゆき」) 9. の発車時間です.wav (「の発車時間です」) たとえば, “arg4”が “23”とすると, arg4m.wavフ
ァイルはplaywave4.exeプログラム内のstring処理によ
り23m.wavファイルと読み替え, そのファイルをplayす
る. 23m.wavファイルは「23分」という音のファイルに
なっている. playwave4.exeはMicrosoft Visual C++ Ve
rsion6.0のMFC (Microsoft Foundation Class)を利用し
て書かれたプログラムである. アナウンスをするプログ
ラム以外にも,予定の時間にプログラムをスタートした
り, アナログ時計と連動したタイマーやチャイムとして
の使用など, 色々な用途がある.
【0180】E. DiaclockJ1 XML Format 本章で, 駅の時刻表データを保存しているXML Document
のElementの解説を行う.最初にDTDの全体の構造, 実際
のDTDとXMLファイルサンプルを示し, 次に一つ一つのEl
ementを具体的なデータ例とともに説明する.
【0181】E.1. StationTrain.DTD XML内のelementにどんなデータを許しているかを定義す
るテキストファイルがDTD(Document Type Definition)
である. DTDは主に次のような事項を定義している. − elementにはどんなattributeが可能か. − どんなattributeの値が可能か. − elementをどうネストするか. − elementは必須なのか, オプションなのか, 複
数出現してよいか. DTDの場所はXMLファイル中で示されている. DTDファイ
ルはローカルにあってもよいし, Internet上にあっても
よい. DTDの定義に反したXMLファイルのときには, XML
ParserはエラーをリポートしXMLファイルを処理しない.
DiaclockJ1の時刻表データのDTDであるStationTrain.dt
dは図30のようにネストしている. Element名の最後に
何もsuffixのないelementは, elementが1個存在するこ
とが必要である. ‘?’のときは1個存在してもよいし,
しなくてもよい. ‘*’のときはなくてもよいし, ある
いは1個もしくは複数個現れてもよい. ‘+’のときは
1個もしくは複数個存在する必要がある.図30はstati
onScheduleというelementの下に, このXML時刻表docume
ntのレベルを示すdocLevel elementと各駅を示すlistSt
ationTrainBook elementが存在している. ListStationT
rainBook elementは, 駅に発着する列車stationTrains
のelementと駅の時刻表に関するelement(servicePatter
n element以下)で構成している. StationTrainsは各列
車の情報をネストし, holidayは休日情報をネストし, c
olorMappingは列車ごとに与える色番号の実際の色をネ
ストしている.StationTrain.dtdは図30のような構造
になっている
【0182】 E.1.1. DTD (Document Type Definition) 次にStationTrain.dtd (DTD Document Type Definition
s)の全部を掲載する. <!-- Draft proposal of station schedule for universal traffic station us age --> <!-- stationTrains Data for one stream line of a specific station --> <!-- Top Level --> <!ELEMENT traffic:stationSchedule (traffic:docLevel, traffic:listStation TrainBook)> <!ATTLIST traffic:stationSchedule xmlns:traffic CDATA #REQUIRED> <!-- 2nd Level --> <!ELEMENT traffic:docLevel (#PCDATA)> <!ELEMENT traffic:listStationTrainBook ( traffic:stationTrains*, traffic:servicePattern, traffic:bookVersion?, traffic:bookDescription?, traffic:bookDisplayMsg?, traffic:msgDisplay?, traffic:operatorName, traffic:lineName, traffic:stationName, traffic:stationNameSecondLang?, traffic:upDown, traffic:effectiveDate?, traffic:expireDate?, traffic:originator?, traffic:preparationDate?, traffic:holiday?, traffic:colorNoMapping? )> <!-- 3rd Level --> <!ELEMENT traffic:stationTrains ( traffic:arrivalHour?, traffic:arrivalMinute?, traffic:departureHour, traffic:departureMinute, traffic:destinationStation1, traffic:destinationStation2?, traffic:destinationStation1ShortForm?, traffic:destinationStation2ShortForm?, traffic:sourceStation1?, traffic:sourceStation2?, traffic:trainType1, traffic:trainType2?, traffic:trainType1ColorNo, traffic:trainType2ColorNo?, traffic:trainID1?, traffic.trainID2?, traffic:numCars?, traffic:track?, traffic:servicePatternNo, traffic:operationDayAttensionType?, traffic:operationDayOfWeek?, traffic:nonOperationDayOfWeek?, traffic:additionalInfo1?, traffic:additionalInfo2?, traffic:mark?, traffic:remark? )> <!ELEMENT traffic:servicePattern (#PCDATA)> <!ELEMENT traffic:bookVersion (#PCDATA)> <!ELEMENT traffic:bookDescription (#PCDATA)> <!ELEMENT traffic:bookDisplayMsg (#PCDATA)> <!ELEMENT traffic:msgDisplay (#PCDATA)> <!ELEMENT traffic:operatorName (#PCDATA)> <!ELEMENT traffic:lineName (#PCDATA)> <!ELEMENT traffic:stationName (#PCDATA)> <!ELEMENT traffic:stationNameSecondLang (#PCDATA)> <!ELEMENT traffic:upDown (#PCDATA)> <!ELEMENT traffic:effectiveDate (#PCDATA)> <!ELEMENT traffic:expireDate (#PCDATA)> <!ELEMENT traffic:originator (#PCDATA)> <!ELEMENT traffic:preparationDate (#PCDATA)> <!ELEMENT traffic:holiday ( traffic:day*, traffic:monday*, traffic:year* )> <!ELEMENT traffic:colorNoMapping ( traffic:colorNo0?, traffic:colorNo1?, traffic:colorNo2?, traffic:colorNo3?, traffic:colorNo4?, traffic:colorNo5?, traffic:colorNo6?, traffic:colorNo7?, traffic:colorNo8?, traffic:colorNo9?, traffic:colorNo10?, traffic:colorNo11?, traffic:colorNo12?, traffic:colorNo13?, traffic:colorNo14?, traffic:colorNo15? )> <!-- 4th Level --> <!ELEMENT traffic:arrivalHour (#PCDATA)> <!ELEMENT traffic:arrivalMinute (#PCDATA)> <!ELEMENT traffic:departureHour (#PCDATA)> <!ELEMENT traffic:departureMinute (#PCDATA)> <!ELEMENT traffic:destinationStation1 (#PCDATA)> <!ELEMENT traffic:destinationStation2 (#PCDATA)> <!ELEMENT traffic:destinationStation1ShortForm (#PCDATA)> <!ELEMENT traffic:destinationStation2ShortForm (#PCDATA)> <!ELEMENT traffic:sourceStation1 (#PCDATA)> <!ELEMENT traffic:sourceStation2 (#PCDATA)> <!ELEMENT traffic:trainType1 (#PCDATA)> <!ELEMENT traffic:trainType2 (#PCDATA)> <!ELEMENT traffic:trainType1ColorNo (#PCDATA)> <!ELEMENT traffic:trainType2ColorNo (#PCDATA)> <!ELEMENT traffic:trainID1 (#PCDATA)> <!ELEMENT traffic:trainID2 (#PCDATA)> <!ELEMENT traffic:numCars (#PCDATA)> <!ELEMENT traffic:track (#PCDATA)> <!ELEMENT traffic:servicePatternNo (#PCDATA)> <!ELEMENT traffic:operationDayAttensionType (#PCDATA)> <!ELEMENT traffic:operationDayOfWeek (#PCDATA)> <!ELEMENT traffic:nonOperationDayOfWeek (#PCDATA)> <!ELEMENT traffic:additionalInfo1 (#PCDATA)> <!ELEMENT traffic:additionalInfo2 (#PCDATA)> <!ELEMENT traffic:mark (#PCDATA)> <!ELEMENT traffic:remark (#PCDATA)> <!ELEMENT traffic:day (#PCDATA)> <!ELEMENT traffic:monday (#PCDATA)> <!ELEMENT traffic:year (#PCDATA)> <!ELEMENT traffic:colorNo0 (#PCDATA)> <!ELEMENT traffic:colorNo1 (#PCDATA)> <!ELEMENT traffic:colorNo2 (#PCDATA)> <!ELEMENT traffic:colorNo3 (#PCDATA)> <!ELEMENT traffic:colorNo4 (#PCDATA)> <!ELEMENT traffic:colorNo5 (#PCDATA)> <!ELEMENT traffic:colorNo6 (#PCDATA)> <!ELEMENT traffic:colorNo7 (#PCDATA)> <!ELEMENT traffic:colorNo8 (#PCDATA)> <!ELEMENT traffic:colorNo9 (#PCDATA)> <!ELEMENT traffic:colorNo10 (#PCDATA)> <!ELEMENT traffic:colorNo11 (#PCDATA)> <!ELEMENT traffic:colorNo12 (#PCDATA)> <!ELEMENT traffic:colorNo13 (#PCDATA)> <!ELEMENT traffic:colorNo14 (#PCDATA)> <!ELEMENT traffic:colorNo15 (#PCDATA)>
【0183】E.1.2. XMLサンプルファイル XMLのファイル例を示す. ここでは, 小田急江ノ島線湘
南台駅の下りの列車発車時刻の一部を示している. <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE traffic:stationSchedule SYSTEM "DTD/StationTrain.dtd"> <traffic:stationSchedule xmlns:traffic="http://www2u.biglobe.ne.jp/~cloc k/traffic/"> <traffic:docLevel>0</traffic:docLevel> <traffic:listStationTrainBook> <traffic:colorNoMapping> <traffic:colorNo0>0,0,255</traffic:colorNo0> <!-- blue - -> <traffic:colorNo1>0,128,128</traffic:colorNo1> <!-- dark cyan -- > <traffic:colorNo2>255,0,0</traffic:colorNo2> <!-- red -- > <traffic:colorNo3>0,128,0</traffic:colorNo3> <!--dark green --> <traffic:colorNo4>0,0,0</traffic:colorNo4> <!-- black -- > <traffic:colorNo5>128,0,0</traffic:colorNo5> <!-- dark red --> <traffic:colorNo6>255,0,255</traffic:colorNo6> <!-- magenta -- > <traffic:colorNo7>0,0,128</traffic:colorNo7> <!- dark blue --> <traffic:colorNo8>128,0,128</traffic:colorNo8> <!- dark magenta--> <traffic:colorNo9>128,128,0</traffic:colorNo9> <!-dark yellow --> <traffic:colorNo10>128,128,128</traffic:colorNo10> <!--dark gray--> <traffic:colorNo11>0,255,0</traffic:colorNo11> <!-- green --> <traffic:colorNo12>0,255,255</traffic:colorNo12> <!-- cyan --> <traffic:colorNo13>255,255,0</traffic:colorNo13> <!-- yellow --> <traffic:colorNo14>192,192,192</traffic:colorNo14> <!-- light gray--> <traffic:colorNo15>255,255,255</traffic:colorNo15> <!-white --> </traffic:colorNoMapping> <traffic:holiday> <traffic:day>01/01</traffic:day> <traffic:monday>01/02</traffic:monday> <traffic:day>01/02</traffic:day> <traffic:day>01/03</traffic:day> <traffic:day>02/11</traffic:day> <traffic:monday>02/12</traffic:monday> <traffic:day>04/29</traffic:day> <traffic:monday>04/30</traffic:monday> <traffic:day>05/03</traffic:day> <traffic:monday>05/04</traffic:monday> <traffic:day>05/05</traffic:day> <traffic:monday>05/06</traffic:monday> <traffic:day>07/20</traffic:day> <traffic:monday>07/21</traffic:monday> <traffic:day>09/15</traffic:day> <traffic:monday>09/16</traffic:monday> <traffic:day>09/23</traffic:day> <traffic:monday>09/24</traffic:monday> <traffic:day>11/03</traffic:day> <traffic:monday>11/04</traffic:monday> <traffic:day>11/23</traffic:day> <traffic:monday>11/24</traffic:monday> <traffic:day>12/23</traffic:day> <traffic:monday>12/24</traffic:monday> <traffic:year>2002/03/21</traffic:year> <traffic:year>2003/03/21</traffic:year> <traffic:year>2004/03/20</traffic:year> <traffic:year>2005/03/21</traffic:year> <traffic:year>2006/03/21</traffic:year> <traffic:year>2007/03/21</traffic:year> <traffic:year>2001/10/08</traffic:year> <traffic:year>2002/01/14</traffic:year> <traffic:year>2002/10/14</traffic:year> <traffic:year>2003/01/13</traffic:year> <traffic:year>2003/10/13</traffic:year> <traffic:year>2004/01/12</traffic:year> <traffic:year>2004/10/11</traffic:year> <traffic:year>2005/01/10</traffic:year> <traffic:year>2005/10/10</traffic:year> <traffic:year>2006/01/09</traffic:year> <traffic:year>2006/10/09</traffic:year> <traffic:year>2007/01/08</traffic:year> <traffic:year>2007/10/08</traffic:year> </traffic:holiday> <traffic:servicePattern>1</traffic:servicePattern> <traffic:bookVersion>0.1</traffic:bookVersion> <traffic:bookDescription /> <traffic:operatorName>小田急</traffic:operatorName> <traffic:lineName>江ノ島線</traffic:lineName> <traffic:stationName>湘南台</traffic:stationName> <traffic:upDown>2</traffic:upDown> <traffic:stationTrains> <traffic:departureHour>0</traffic:departureHour> <traffic:departureMinute>6</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>0</traffic:departureHour> <traffic:departureMinute>21</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>0</traffic:departureHour> <traffic:departureMinute>33</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>17</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>27</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>39</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>48</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>58</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>6</traffic:departureHour> <traffic:departureMinute>7</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>0</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>0</traffic:departureHour> <traffic:departureMinute>5</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>0</traffic:departureHour> <traffic:departureMinute>20</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>0</traffic:departureHour> <traffic:departureMinute>32</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>17</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>30</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>45</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>5</traffic:departureHour> <traffic:departureMinute>59</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> <traffic:stationTrains> <traffic:departureHour>6</traffic:departureHour> <traffic:departureMinute>15</traffic:departureMinute> <traffic:destinationStation1>江ノ島</traffic:destinationStation1> <traffic:trainType1>普通</traffic:trainType1> <traffic:trainType1ColorNo>0</traffic:trainType1ColorNo> <traffic:servicePatternNo>1</traffic:servicePatternNo> </traffic:stationTrains> </traffic:listStationTrainBook> </traffic:stationSchedule>
【0184】E.2. Top Level Top LevelのElementを再掲する. <!-- Top Level --> <!ELEMENT traffic:stationSchedule (traffic:docLeve
l, traffic:listStationTrainBook)> <!ATTLIST traffic:stationSchedule xmlns:traffic CD
ATA #REQUIRED> Top LevelのElementはtraffic:stationScheduleのみで
ある. XMLのname spaceとして “traffic”を使用する.
traffic:stationSchedule下に2nd LevelのElementであ
るtraffic:docLevelとtraffic:listStationTrainBookを
もつ. ここでtraffic:listStationTrainBookのrecurren
ce operatorを+(must appear at leastone time)にし
てtraffic:listStationTrainBook+のようにして, 一つ
のXMLファイル中に駅の上り下りや複数駅のデータを含
める事も可能である. しかし, データの読み込み時間,
データのサイズ, プログラムの複雑さ等を考慮しDiaclo
ckJ1のdocLevel 0では+を採用していない.
【0185】 E.3. 2nd Level Second LevelのElementを再掲する. <!ELEMENT traffic:docLevel (#PCDATA)> <!ELEMENT traffic:listStationTrainBook ( traffic:stationTrains, traffic:servicePattern, traffic:bookVersion?, traffic:bookDescription?, traffic:bookDisplayMsg?, traffic:msgDisplay?, traffic:operatorName, traffic:lineName, traffic:stationName, traffic:stationNameSecondLang?, traffic:upDown, traffic:effectiveDate?, traffic:expireDate?, traffic:originator?, traffic:preparationDate?, traffic:holiday?, traffic:colorNoMapping? )> 2nd LevelのElementとして, traffic:docLevelとtraffi
c:listStationTrainBookを定義している. docLevelは
このDocumentのレベルを表示し, プログラムがサポート
するレベル以外のものを排除するために使用する. (但
し, DiaclockJ1ではこのレベルを“0”とし, このレベ
ルによるXMLファイルの読み込みの排除は行わなかった.
) traffic:listStationTrainBookが駅のすべての列車
データを含むElementであり, DiaclockJ1プログラムのL
istStationTrainBook Bean中のデータに対応する.
【0186】 E.4. 3rd Level 3rd LevelのElementを再掲する. <!-- 3rd Level --> <!ELEMENT traffic:stationTrains ( traffic:arrivalHour?, traffic:arrivalMinute?, traffic:departureHour, traffic:departureMinute, traffic:destinationStation1, traffic:destinationStation2?, traffic:destinationStation1ShortForm?, traffic:destinationStation2ShortForm?, traffic:sourceStation1?, traffic:sourceStation2?, traffic:trainType1, traffic:trainType2?, traffic:trainType1ColorNo, traffic:trainType2ColorNo?, traffic:trainID1?, traffic.trainID2?, traffic:numCars?, traffic:track?, traffic:servicePatternNo, traffic:operationDayAttensionType?, traffic:operationDayOfWeek?, traffic:nonOperationDayOfWeek?, traffic:additionalInfo1?, traffic:additionalInfo2?, traffic:mark?, traffic:remark? )> <!ELEMENT traffic:servicePattern (#PCDATA)> <!ELEMENT traffic:bookVersion (#PCDATA)> <!ELEMENT traffic:bookDescription (#PCDATA)> <!ELEMENT traffic:bookDisplayMsg (#PCDATA)> <!ELEMENT traffic:msgDisplay (#PCDATA)> <!ELEMENT traffic:operatorName (#PCDATA)> <!ELEMENT traffic:lineName (#PCDATA)> <!ELEMENT traffic:stationName (#PCDATA)> <!ELEMENT traffic:stationNameSecondLang (#PCDATA)> <!ELEMENT traffic:upDown (#PCDATA)> <!ELEMENT traffic:effectiveDate (#PCDATA)> <!ELEMENT traffic:expireDate (#PCDATA)> <!ELEMENT traffic:originator (#PCDATA)> <!ELEMENT traffic:preparationDate (#PCDATA)> <!ELEMENT traffic:holiday ( traffic:day*, traffic:monday*, traffic:year* )> <!ELEMENT traffic:colorNoMapping ( traffic:colorNo0?, traffic:colorNo1?, traffic:colorNo2?, traffic:colorNo3?, traffic:colorNo4?, traffic:colorNo5?, traffic:colorNo6?, traffic:colorNo7?, traffic:colorNo8?, traffic:colorNo9?, traffic:colorNo10?, traffic:colorNo11?, traffic:colorNo12?, traffic:colorNo13?, traffic:colorNo14?, traffic:colorNo15? )>
【0187】E.4.1. DiaclockJ1との関係 Elementはtraffic:holidayとtraffic:colorNoMapping以
外すべてListStationTrainBook Bean中のプロパティー
に対応しており, 対応したプロパティーにそれぞれのデ
ータをloadする. なお, サービスパターン等必要なもの
はDiaclockJ1内で文字列型からint型等に適宜変換する.
traffic:holidayはListHolidayBook Bean中のデータに
loadし, traffic:colorNoMappingはColorMapTable Bean
中のデータにloadする. また, traffic:holiday中のデ
ータはXMLファイルをloadする時点の年度に従って, Lis
tStationTrainBook Bean中のプロパティーmcHolidayTab
leにloadし, 祝祭日の制御に利用する.
【0188】E.4.2. traffic:listStationTrainBo
ok下のElementの意味(Semantics) それぞれのElementの意味(Semantics)を次に説明する.
(カッコ内は具体例) − traffic:stationTrainsは列車オブジェクトで,
この下にさらにElementを持つ − traffic:servicePattern 曜日による運行パタ
ーンを示す数字(1). 0 : Mon-Sun 1 : Mon-Fri, Sat-Sun 2 : Mon-Fri, Sat, Sun 3 : Mon-Sat, Sun − traffic:bookVersion 時刻表データのバージョ
ンを表示する文字列 (1.1) − traffic:bookDescription 時刻表の改正日等を
記述した時刻表に関する文字列(2002/10/10改正) − traffic:bookDisplayMsg DiaclockJ1が表示し
ている時刻表データ全体についてDiaclock J1が必要な
らば表示するための文字列 (運用調整中) − traffic:msgDisplay 広告等に使用する文字列
でXMLデータ作成者が使用する. DiaclockJ1においては,
アナログ時計左下のところに平日には薄い灰色で, 休
日には赤で20文字以内でmsgDisplayの文字列を表示す
る. (e.g. ClockClub Presents) − traffic:operatorName 運行事業主体名(小田
急) − traffic:lineName 路線名(江ノ島線) − traffic:stationName 駅名(湘南台) − traffic:upDown : 列車の上り下り(1) 0 : unknown 1 : up stream 2 : down stream − traffic:stationNameSecondLang 駅名の第二外
国語の文字列(Shoh-nan-dai) − traffic:effectiveDate 時刻表データの有効に
なった日付(2000/12/26) − traffic:expireDate 時刻表データの無効にな
る日付(2003/12/31) − traffic:originator 時刻表データ製作主体名
(ClockClub) − traffic:preparationDate 時刻表データを作成
した日付(2000/11/15) − traffic:holiday この下にさらにElementをも
つ(traffic:day, traffic:monday, traffic:year) − traffic:colorNoMapping この下にさらにEleme
ntをもつ(traffic:colorNo0…)
【0189】E.5. 4th Level 4th LevelのElementを再掲する. <!-- 4th Level --> <!ELEMENT traffic:arrivalHour (#PCDATA)> <!ELEMENT traffic:arrivalMinute (#PCDATA)> <!ELEMENT traffic:departureHour (#PCDATA)> <!ELEMENT traffic:departureMinute (#PCDATA)> <!ELEMENT traffic:destinationStation1 (#PCDATA)> <!ELEMENT traffic:destinationStation2 (#PCDATA)> <!ELEMENT traffic:destinationStation1ShortForm (#
PCDATA)> <!ELEMENT traffic:destinationStation2ShortForm (#
PCDATA)> <!ELEMENT traffic:sourceStation1 (#PCDATA)> <!ELEMENT traffic:sourceStation2 (#PCDATA)> <!ELEMENT traffic:trainType1 (#PCDATA)> <!ELEMENT traffic:trainType2 (#PCDATA)> <!ELEMENT traffic:trainType1ColorNo (#PCDATA)> <!ELEMENT traffic:trainType2ColorNo (#PCDATA)> <!ELEMENT traffic:trainID1 (#PCDATA)> <!ELEMENT traffic:trainID2 (#PCDATA)> <!ELEMENT traffic:numCars (#PCDATA)> <!ELEMENT traffic:track (#PCDATA)> <!ELEMENT traffic:servicePatternNo (#PCDATA)> <!ELEMENT traffic:operationDayAttensionType (#PCD
ATA)> <!ELEMENT traffic:operationDayOfWeek (#PCDATA)> <!ELEMENT traffic:nonOperationDayOfWeek (#PCDATA)
> <!ELEMENT traffic:additionalInfo1 (#PCDATA)> <!ELEMENT traffic:additionalInfo2 (#PCDATA)> <!ELEMENT traffic:mark (#PCDATA)> <!ELEMENT traffic:remark (#PCDATA)> <!ELEMENT traffic:day (#PCDATA)> <!ELEMENT traffic:monday (#PCDATA)> <!ELEMENT traffic:year (#PCDATA)> <!ELEMENT traffic:colorNo0 (#PCDATA)> <!ELEMENT traffic:colorNo1 (#PCDATA)> <!ELEMENT traffic:colorNo2 (#PCDATA)> <!ELEMENT traffic:colorNo3 (#PCDATA)> <!ELEMENT traffic:colorNo4 (#PCDATA)> <!ELEMENT traffic:colorNo5 (#PCDATA)> <!ELEMENT traffic:colorNo6 (#PCDATA)> <!ELEMENT traffic:colorNo7 (#PCDATA)> <!ELEMENT traffic:colorNo8 (#PCDATA)> <!ELEMENT traffic:colorNo9 (#PCDATA)> <!ELEMENT traffic:colorNo10 (#PCDATA)> <!ELEMENT traffic:colorNo11 (#PCDATA)> <!ELEMENT traffic:colorNo12 (#PCDATA)> <!ELEMENT traffic:colorNo13 (#PCDATA)> <!ELEMENT traffic:colorNo14 (#PCDATA)> <!ELEMENT traffic:colorNo15 (#PCDATA)>
【0190】E.5.1.1. DiaclockJ1との関係 4th LevelのElementはすべてSimpleStationTrainData B
ean中のプロパティーに対応しており, 対応したプロパ
ティーにそれぞれのデータをloadする. なお, 時間等必
要なものはDiaclockJ1内で文字列型からint型等に適宜
変換される.
【0191】E.5.1.2. traffic:stationTrains下のElem
entの意味(semantics) Elementの中に1や2といったsuffixが付いているものが
ある. これは一列車が途中駅で連結・分割する場合, 一
つの列車に二つのattributeが必要となるのでふってい
る. それぞれのElementの意味(semantics)を次に説明
する. (括弧内は具体例) − traffic:arrivalHour 列車到着時刻(時) (14) − traffic:arrivalMinute 列車到着時刻(分)(26) − traffic:departureHour 列車発車時刻(時)(14) − traffic:departureMinute 列車発車時刻(分)(28) − traffic:destinationStation1 終着駅名1(片瀬江ノ島) − traffic:destinationStation2 終着駅名2(藤沢) − traffic:destinationStation1ShortForm 終着駅名1略記(江) − traffic:destinationStation2ShortForm終着駅名2略記(藤) − traffic:sourceStation1 始発駅名1(片瀬江ノ島) − traffic:sourceStation2 始発駅名2(藤沢) − traffic:trainType1 列車種別1(急行) − traffic:trainType2 列車種別2(普通) − traffic:trainType1ColorNo 列車種別1カラー番号(0) − traffic:trainType2ColorNo 列車種別2カラー番号(2) − traffic:trainID1 列車識別子1(1204A) − traffic:trainID2 列車識別子2(1204B) − traffic:numCars 編成数(6) − traffic:track 入番線(2) − traffic:servicePatternNo : サービスパターン番号(0) servicePattern 0, (Mon-Sun)で 0 : Mon-Sun servicePattern 1, (Mon-Fri, Sat-Sun)で 0 : Mon-Fri, 1 : Sat-Sun servicePattern 2, (Mon-Fri, Sat, Sun)で 0 : Mon-Fri, 1 : Sun, 2 : Sat ( Sundayが2で, Saturdayが3) servicePattern 3, (Mon-Sat, Sun)で 0 : Mon-Sat, 1 : Sun − traffic:operationDayAttensionType 運転日注意タイプ(0) 0 : Non Operation on a specific day of week between Monday and Friday 1 : Operation on a specific day of week − traffic:operationDayOfWeek 特別な運転曜日(5) 0 : 特別な運転日は無い 1 : 日曜のみ運転 2 : 月曜のみ運転 3 : 火曜のみ運転 4 : 水曜のみ運転 5 : 木曜のみ運転 6 : 金曜のみ運転 7 : 土曜のみ運転 − traffic:nonOperationDayOfWeek 特別な運休曜日(3) 0 : 特別な運休日は無い 1 : 日曜のみ運休 2 : 月曜のみ運休 3 : 火曜のみ運休 4 : 水曜のみ運休 5 : 木曜のみ運休 6 : 金曜のみ運休 7 : 土曜のみ運休 − traffic:additionalInfo1 追加情報1(湘南台に臨時停車) − traffic:additionalInfo2 追加情報2(中央林間に臨時停車) − traffic:mark アイコンファイル名(enoshimago.gif) − traffic:remark 特記事項(ロマンスカー) − traffic:day 祝祭日(05/05) − traffic:monday 月曜振替休日(05/06) − traffic:year 特定休日(2001/10/08) − traffic:colorNo0 カラー番号0RGB(0,0,0) − traffic:colorNo1 カラー番号1RGB(255,0,0) − traffic:colorNo2 カラー番号2RGB(0,255,0) − ... − ... − traffic:colorNo14 カラー番号14RGB(0,128,0) − traffic:colorNo15 カラー番号15RGB(0,0,128)
【0192】[追補]以上, 特定の実施例を参照しなが
ら, 本発明について詳解してきた. しかしながら, 本発
明の要旨を逸脱しない範囲で当業者が該実施例の修正や
代用を成し得ることは自明である. すなわち, 例示とい
う形態で本発明を開示してきたのであり, 限定的に解釈
されるべきではない. 本発明の要旨を判断するために
は, 冒頭に記載した特許請求の範囲の欄を参酌すべきで
ある.
【0193】
【発明の効果】以上詳記したように, 本発明によれば,
コンピュータの演算能力を活用して,アナログ時計上に
表示するスケジュール情報を, より容易に利便性の高い
形式で作成, 編集, 保存できる, 優れた時刻表提示シス
テム及び時刻表提示方法を提供することができる.
【0194】また, 本発明によれば, アナログ時計上に
表示するスケジュール情報を, より容易に理解できる形
式で表示する, 優れた時刻表提示システム及び時刻表提
示方法を提供することができる.
【0195】また, 本発明によれば, アナログ時計上に
表示するスケジュール情報をもとに, より容易に付加的
な機能を汎用性の高い形式で提供できる, 優れた時刻表
提示システム及び時刻表提示方法を提供することができ
る.
【0196】また, 本発明によれば, アナログ時計上に
表示するスケジュール以外の情報を, より容易に利便性
の高い形式で作成, 編集, 保存できる. スケジュール以
外の情報をスケジュールのファイルに付随できる事によ
り, 広告メッセージをデータ側で持つ事ができる. した
がって, 広告メッセージはデータ作成者が同時に作成で
き, データ作成者にデータを作成する動機を与える事が
できる, 優れた時刻表提示システム及び時刻表提示方法
を提供することができる.
【図面の簡単な説明】
【図1】本発明の実施に供される典型的なパーソナル・
コンピュータ(PC)100のハードウェア構成を模式
的に示した図である.
【図2】コンピュータ・システム100上で提供される
ソフトウェア実行環境の構成を模式的に示した図であ
る.
【図3】本発明の1つの実装形態としてのスケジュール
提示アプリケーションDiaclockJ1の図で, 最初のプログ
ラム起動時の表示である.
【図4】DiaclockJ1を起動後に, タスクバー上の「Fil
e」プルダウンメニューを表示した図である.
【図5】図4のファイルプルダウンメニュー表示後に,
「File Open...」を押すと, ファイル選択メニューウイ
ンドウを表示する. そのウインドウの図である.
【図6】ファイルプルダウンメニュー表示後に, 「URI
Open」を押すと, URI(Universal Resource Identifie
r)入力ウインドウを表示する. 表示したテキスト入力
領域を含むウインドウの図である.
【図7】図5のファイル選択メニューから「小田急湘南
台駅下り」のデータを選択し,データをアプリケーショ
ンにロードした図である.
【図8】DiaclockJ1を起動後に, タスクバー上の「Opti
ons」プルダウンメニューを表示した図である.
【図9】DiaclockJ1を起動後に, タスクバー上の「Aut
o」プルダウンメニューを表示した図である.
【図10】図8の「MultiLineDisplayOn」を選択しない
とき, DiaclockJ1を表示した図である. 選択していない
ので, デジタル表示エリアの列車を1列車の表示してい
る.
【図11】図8の「DigitalPane」, 「ToolBar」, 「St
atusBar」の選択はトグルスイッチになっている. これ
らのスイッチによりDiaclock下3分の1にあたるDigital
Pane, ツールバー, ステータスバーをトグルし, それぞ
れの表示を消し, 簡素にしたDiaclockJ1の図である.
【図12】DiaclockJ1のアナログ時計表示部に, ユーザ
ーのプラットホーム到着時刻を示すカーソル(Cursor)
を表示した図である.
【図13】DiaclockJ1において, 分目盛りの近傍に表示
する列車の行き先を示す文字数の上限を1文字にした図
である.
【図14】DiaclockJ1において, 分目盛りの近傍に表示
する列車の行き先を示す文字数の上限を3文字にした図
である.
【図15】図8の「Other Options...」を選択すると表
示するウインドウを示す図である. このウインドウはよ
り高度な設定をするための入力ウインドウである.
【図16】図15の「BackGroundColor」ボタンを押す
と, アナログ時計のバックグラウンドカラーを設定する
ウインドウを表示する. そのカラー設定ウインドウの図
である.
【図17】図4のファイルプルダウンメニュー表示後
に, 「Edit Data...」を押すと, データ編集ウインドウ
を表示する. そのウインドウの図である.
【図18】図17の「ColorNoMap...」ボタンを押すと,
列車の色番号に対し色を設定するウインドウが表示さ
れる. そのウインドウの図である.
【図19】図17の「HolidayTable...」ボタンを押す
と, 休日の設定をするウインドウが表示される. そのウ
インドウの図である.
【図20】図17の「TimeSelect...」ボタンを押すと,
TimeInput ウインドウを表示する. そのウインドウの
図である. このウインドウから列車の平日休日土曜別の
発車時刻をマウスで選択できる.
【図21】図17の「TypeSelect...」を押すと, TypeS
elct ウインドウを表示する. そのウインドウの図であ
る. このウインドウからマウスのクリックにより列車種
別(TrainType1)と列車種別色(TrainTypeColorNo)
がセットで選択できる.
【図22】図17の「DestinationSelect...」を押す
と, DestinationSelect ウインドウを表示する. そのウ
インドウの図である. このウインドウからマウスのクリ
ックにより列車の行き先(DestinationStation1)がセ
ットで選択できる.
【図23】DiaclockJ1の主なBean構成を示す図である.
DiaclockJ1の主なBeanは3つのMVCのカテゴリーからな
る. 'M'がModelを, 'V'がViewを, 'C'がControllerを示
す.
【図24】図23のStationTrainBookModelのBean内
のプロパティーを示す図である.
【図25】図23のHoliday Data Mに対応したListHo
lidayBookModelの図である. ListHolidayBookModel内の
3つのプロパティが示されている.
【図26】アナログ時刻表時計部分(Analog Clock V
)はJAVA2のJPanelをextendsした4つのbeanを重ね
ることで画面を構成している. その概念を示した図であ
る.
【図27】図17のWindowの構成を示した図である. 図
17のData Edit Windowは3つのbeanをネストして構成
しており, それぞれのBeanの位置をこの図は示してい
る.
【図28】CM<20charactersの文字列をアナログ時計上
に表示した時の図である. "KeioPresents"がその文字列
である.
【図29】DiaclockJ1からの外部プログラム呼び出しを
プログラムのモジュールと制御の流れをもとに概念的に
示した図である.
【図30】DiaclockJ1のXMLデータのDocument Type Def
initionsであるStationTrain.dtdのTree構造を示した図
である.
【符号の説明】
11…CPU,12…AGPバス 13…ホスト−PCIブリッジ,14…PCIバス 15…メイン・メモリ,16…メモリ・バス 17…キャッシュ・メモリ,18…ROM 19…グラフィック・コントローラ,20…表示装置 21…ネットワーク・インターフェース・カード(NI
C) 22…SCSIコントローラ,23…SCSIデバイス 24…PCIデバイス,25…PCI−ISAブリッジ 26…ハード・ディスク・ドライブ(HDD) 27…CD−ROMドライブ,28…USBデバイス 31…DSP/モデム,32…SIOコントローラ 33…PIOコントローラ 100…コンピュータ・システム
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 3/00 651 G06F 3/00 651A

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】少なくともプロセッサと記憶装置と入力装
    置とディスプレイとリアル・タイム・クロックを含むコ
    ンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶システムと,前記計時システム
    が読み取った現在時刻の時情報が示す1時間分に該当す
    るスケジュール設定時刻を前記スケジュール記憶システ
    ムから読み出すシステムとを持ち,前記読み出しシステ
    ムによって読み出された1時間分の各スケジュール設定
    時刻を示すアイコンまたは各スケジュール内容を示す文
    字列を, 前記時刻表示パネル上の対応する分目盛り近傍
    に表示するスケジュール表示システムにおいて,前記ス
    ケジュール記憶システム中にデータをデータ別またはデ
    ータ群別に登録する手段または, 前記スケジュール記憶
    システム中に登録されているデータを編集する手段,ま
    たは, 前記スケジュール記憶システム中に登録されてい
    るデータの保存を行う手段と,を具備することを特徴と
    するスケジュール提示システム.
  2. 【請求項2】少なくともプロセッサと記憶装置と入力装
    置とディスプレイとリアル・タイム・クロックを含むコ
    ンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶システムと,前記計時システム
    が読み取った現在時刻の時情報が示す1時間分に該当す
    るスケジュール設定時刻を前記スケジュール記憶システ
    ムから読み出すシステムとを持ち,前記読み出しシステ
    ムによって読み出された1時間分の各スケジュール設定
    時刻を示すアイコンまたは各スケジュール内容を示す文
    字列を, 前記時刻表示パネル上の対応する分目盛り近傍
    に表示するスケジュール表示システムにおいて,前記文
    字列の文字数の上限を前記記憶装置から読み出す手段
    と,前記読み出された文字数の上限まで文字列を, 前記
    時刻表示パネル上に表示する手段と,を具備することを
    特徴とするスケジュール提示システム.
  3. 【請求項3】前記各スケジュール内容を示す文字列を,
    前記時刻表示パネル上に表示する手段は, 対応する分目
    盛り近傍に円環の中心に向かって順方向の出力順または
    逆方向の出力順で文字列を表示することを特徴とする請
    求項2に記載のスケジュール提示システム.
  4. 【請求項4】前記各スケジュール内容を示す文字列の出
    力順を, 分目盛りの位置により順方向か逆方向かを決め
    ることを特徴とする請求項3に記載のスケジュール提示
    システム.
  5. 【請求項5】前記文字列の文字数の上限を上記記憶装置
    に登録するための手段を, 具備することを特徴とする請
    求項2に記載のスケジュール提示システム.
  6. 【請求項6】少なくともプロセッサと記憶装置と入力装
    置とディスプレイとリアル・タイム・クロックを含むコ
    ンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶システムと,前記計時システム
    が読み取った現在時刻の時情報が示す1時間分に該当す
    るスケジュール設定時刻を前記スケジュール記憶システ
    ムから読み出すシステムとを持ち,前記読み出しシステ
    ムによって読み出された1時間分の各スケジュール設定
    時刻を示すアイコンまたは各スケジュール内容を示す文
    字列を, 前記時刻表示パネル上の対応する分目盛り近傍
    に表示するスケジュール表示システムにおいて,前記ス
    ケジュール記憶システムに登録したスケジュール時刻
    が, 現在時刻情報と一致するか, あるいは現在時刻より
    指定された時間前の時刻と一致したときに,スケジュー
    ル情報とともに, 外部システムを呼び出す手段,を具備
    することを特徴とするスケジュール提示システム.
  7. 【請求項7】少なくともプロセッサと記憶装置と入力装
    置とディスプレイとリアル・タイム・クロックを含むコ
    ンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶システムと,前記計時システム
    が読み取った現在時刻の時情報が示す1時間分に該当す
    るスケジュール設定時刻を前記スケジュール記憶システ
    ムから読み出すシステムとを持ち,前記読み出しシステ
    ムによって読み出された1時間分の各スケジュール設定
    時刻を示すアイコンまたは各スケジュール内容を示す文
    字列を, 前記時刻表示パネル上の対応する分目盛り近傍
    に表示するスケジュール表示システムにおいて,前記ス
    ケジュール記憶システムに書かれた, 時刻に関連したス
    ケジュール情報とは独立したメッセージを読み出す手段
    と,前記読み出されたメッセージを, 前記時刻表示パネ
    ル上に表示する手段と,を具備することを特徴とするス
    ケジュール提示システム.
  8. 【請求項8】前記スケジュール記憶システムに前記メッ
    セージを登録する手段,または, 前記スケジュール記憶
    システムに登録されたメッセージを保存する手段,を具
    備することを特徴とする, 請求項7に記載のスケジュー
    ル提示システム.
  9. 【請求項9】少なくともプロセッサと記憶装置と入力装
    置とディスプレイとリアル・タイム・クロックを含むコ
    ンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶方法と,前記計時システムが読
    み取った現在時刻の時情報が示す1時間分に該当するス
    ケジュール設定時刻を前記スケジュール記憶システムか
    ら読み出す方法とを持ち,前記読み出し方法によって読
    み出された1時間分の各スケジュール設定時刻を示すア
    イコンまたは各スケジュール内容を示す文字列を, 前記
    時刻表示パネル上の対応する分目盛り近傍に表示するス
    ケジュール表示方法において,前記スケジュール記憶シ
    ステム中にデータをデータ別またはデータ群別に登録す
    るステップまたは, 前記スケジュール記憶システム中に
    登録されているデータを編集するステップ,または, 前
    記スケジュール記憶システム中に登録されているデータ
    の保存を行うステップと,を具備することを特徴とする
    スケジュール提示方法.
  10. 【請求項10】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶方法と,前記計時システムが読
    み取った現在時刻の時情報が示す1時間分に該当するス
    ケジュール設定時刻を前記スケジュール記憶システムか
    ら読み出す方法とを持ち,前記読み出し方法によって読
    み出された1時間分の各スケジュール設定時刻を示すア
    イコンまたは各スケジュール内容を示す文字列を, 前記
    時刻表示パネル上の対応する分目盛り近傍に表示するス
    ケジュール表示方法において,前記文字列の文字数の上
    限を前記記憶装置から読み出すステップと,前記読み出
    された文字数の上限まで文字列を, 前記時刻表示パネル
    上に表示するステップと,を具備することを特徴とする
    スケジュール提示方法.
  11. 【請求項11】前記各スケジュール内容を示す文字列
    を, 前記時刻表示パネル上に表示するステップは, 対応
    する分目盛り近傍に円環の中心に向かって順方向の出力
    順または逆方向の出力順で文字列を表示することを特徴
    とする請求項10に記載のスケジュール提示方法.
  12. 【請求項12】前記各スケジュール内容を示す文字列の
    出力順を, 分目盛りの位置により順方向か逆方向かを決
    めることを特徴とする請求項11に記載のスケジュール
    提示方法.
  13. 【請求項13】前記文字列の文字数の上限を上記記憶装
    置に登録するためのステップを, 具備することを特徴と
    する請求項10に記載のスケジュール提示方法.
  14. 【請求項14】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶方法と,前記計時システムが読
    み取った現在時刻の時情報が示す1時間分に該当するス
    ケジュール設定時刻を前記スケジュール記憶システムか
    ら読み出す方法とを持ち,前記読み出し方法によって読
    み出された1時間分の各スケジュール設定時刻を示すア
    イコンまたは各スケジュール内容を示す文字列を, 前記
    時刻表示パネル上の対応する分目盛り近傍に表示するス
    ケジュール表示方法において,前記スケジュール記憶シ
    ステムに登録したスケジュール時刻が, 現在時刻情報と
    一致するか, あるいは現在時刻より指定された時間前の
    時刻と一致したときに,スケジュール情報とともに, 外
    部システムを呼び出すステップ,を具備することを特徴
    とするスケジュール提示方法.
  15. 【請求項15】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示し,前
    記リアル・タイム・クロックが発生する現在時刻を読み
    取り, 時分に対応する複数の分目盛りを円環状に並べた
    時刻表示パネルを前記ディスプレイ・スクリーン上に表
    示するシステムであって,現在時刻の時情報及び分情報
    に対応する回転位置を指示する短針及び長針の各々を,
    前記時刻表示パネル上に表示するための時刻表示システ
    ムと,所定のスケジュール設定時刻を分単位で記憶する
    ためのスケジュール記憶方法と,前記計時システムが読
    み取った現在時刻の時情報が示す1時間分に該当するス
    ケジュール設定時刻を前記スケジュール記憶システムか
    ら読み出す方法とを持ち,前記読み出し方法によって読
    み出された1時間分の各スケジュール設定時刻を示すア
    イコンまたは各スケジュール内容を示す文字列を, 前記
    時刻表示パネル上の対応する分目盛り近傍に表示するス
    ケジュール表示方法において,前記スケジュール記憶シ
    ステムに書かれた, 時刻に関連したスケジュール情報と
    は独立したメッセージを読み出すステップと,前記読み
    出されたメッセージを, 前記時刻表示パネル上に表示す
    るステップと,を具備することを特徴とするスケジュー
    ル提示方法.
  16. 【請求項16】前記スケジュール記憶システムに前記メ
    ッセージを登録するステップ,または, 前記スケジュー
    ル記憶システムに登録されたメッセージを保存するステ
    ップ,を具備することを特徴とする, 請求項15に記載
    のスケジュール提示方法.
  17. 【請求項17】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示する処
    理と,前記リアル・タイム・クロックが発生する現在時
    刻を読み取り, 時分に対応する複数の分目盛りを円環状
    に並べた時刻表示パネルを前記ディスプレイ・スクリー
    ン上に表示する処理と,現在時刻の時情報及び分情報に
    対応する回転位置を指示する短針及び長針の各々を, 前
    記時刻表示パネル上に表示するための時刻表示処理と,
    所定のスケジュール設定時刻を分単位で記憶するための
    スケジュール記憶処理と,前記計時処理が読み取った現
    在時刻の時情報が示す1時間分に該当するスケジュール
    設定時刻を前記スケジュール記憶処理されたデータから
    読み出す処理とを持ち,前記読み出す処理によって読み
    出された1時間分の各スケジュール設定時刻を示すアイ
    コンまたは各スケジュール内容を示す文字列を, 前記時
    刻表示パネル上の対応する分目盛り近傍に表示する処理
    を,コンピュータ・システム上で実行するように記述し
    たコンピュータ・ソフトウェアをコンピュータ可読形式
    で物理的に格納した記憶媒体であって,前記コンピュー
    タ・ソフトウェアは,前記スケジュール記憶システム中
    に登録するデータを, データ別またはデータ群別に作成
    および登録するステップ,または前記スケジュール記憶
    システム中に登録されているデータを編集するステッ
    プ, または前記スケジュール記憶システム中に登録され
    ているデータのファイルへの保存を行うステップと,を
    具備することを特徴とするコンピュータ可読記憶媒体.
  18. 【請求項18】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示する処
    理と,前記リアル・タイム・クロックが発生する現在時
    刻を読み取り, 時分に対応する複数の分目盛りを円環状
    に並べた時刻表示パネルを前記ディスプレイ・スクリー
    ン上に表示する処理と,現在時刻の時情報及び分情報に
    対応する回転位置を指示する短針及び長針の各々を, 前
    記時刻表示パネル上に表示するための時刻表示処理と,
    所定のスケジュール設定時刻を分単位で記憶するための
    スケジュール記憶処理と,前記計時処理が読み取った現
    在時刻の時情報が示す1時間分に該当するスケジュール
    設定時刻を前記スケジュール記憶処理されたデータから
    読み出す処理とを持ち,前記読み出す処理によって読み
    出された1時間分の各スケジュール設定時刻を示すアイ
    コンまたは各スケジュール内容を示す文字列を, 前記時
    刻表示パネル上の対応する分目盛り近傍に表示する処理
    を,コンピュータ・システム上で実行するように記述し
    たコンピュータ・ソフトウェアをコンピュータ可読形式
    で物理的に格納した記憶媒体であって,前記コンピュー
    タ・ソフトウェアは,前記文字列の文字数の上限を前記
    記憶装置から読み出すステップと,前記読み出された文
    字数の上限まで文字列を, 前記時刻表示パネル上に表示
    するステップと,を具備することを特徴とするコンピュ
    ータ可読記憶媒体.
  19. 【請求項19】前記各スケジュール内容を示す文字列
    を, 前記時刻表示パネル上に表示するステップは, 対応
    する分目盛り近傍に円環の中心に向かって順方向の出力
    順または逆方向の出力順で文字列を表示することを特徴
    とする請求項18に記載のコンピュータ可読記憶媒体.
  20. 【請求項20】前記各スケジュール内容を示す文字列の
    出力順を, 分目盛りの位置により順方向か逆方向かを決
    めることを特徴とする請求項18に記載のコンピュータ
    可読記憶媒体.
  21. 【請求項21】前記文字列の文字数の上限を上記記憶装
    置に登録するためのステップを, 具備することを特徴と
    する請求項18に記載のコンピュータ可読記憶媒体.
  22. 【請求項22】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示する処
    理と,前記リアル・タイム・クロックが発生する現在時
    刻を読み取り, 時分に対応する複数の分目盛りを円環状
    に並べた時刻表示パネルを前記ディスプレイ・スクリー
    ン上に表示する処理と,現在時刻の時情報及び分情報に
    対応する回転位置を指示する短針及び長針の各々を, 前
    記時刻表示パネル上に表示するための時刻表示処理と,
    所定のスケジュール設定時刻を分単位で記憶するための
    スケジュール記憶処理と,前記計時処理が読み取った現
    在時刻の時情報が示す1時間分に該当するスケジュール
    設定時刻を前記スケジュール記憶処理されたデータから
    読み出す処理とを持ち,前記読み出す処理によって読み
    出された1時間分の各スケジュール設定時刻を示すアイ
    コンまたは各スケジュール内容を示す文字列を, 前記時
    刻表示パネル上の対応する分目盛り近傍に表示する処理
    を,コンピュータ・システム上で実行するように記述し
    たコンピュータ・ソフトウェアをコンピュータ可読形式
    で物理的に格納した記憶媒体であって,前記コンピュー
    タ・ソフトウェアは,前記スケジュール記憶システムに
    登録したスケジュール時刻が, 現在時刻情報と一致する
    か, あるいは現在時刻より指定された時間前の時刻と一
    致したときに,スケジュール情報とともに, 外部システ
    ムを呼び出すステップ,を具備することを特徴とするコ
    ンピュータ可読記憶媒体.
  23. 【請求項23】少なくともプロセッサと記憶装置と入力
    装置とディスプレイとリアル・タイム・クロックを含む
    コンピュータ・システムのディスプレイ・スクリーン上
    で, 短針および長針を用いて時刻をアナログ表示する処
    理と,前記リアル・タイム・クロックが発生する現在時
    刻を読み取り, 時分に対応する複数の分目盛りを円環状
    に並べた時刻表示パネルを前記ディスプレイ・スクリー
    ン上に表示する処理と,現在時刻の時情報及び分情報に
    対応する回転位置を指示する短針及び長針の各々を, 前
    記時刻表示パネル上に表示するための時刻表示処理と,
    所定のスケジュール設定時刻を分単位で記憶するための
    スケジュール記憶処理と,前記計時処理が読み取った現
    在時刻の時情報が示す1時間分に該当するスケジュール
    設定時刻を前記スケジュール記憶処理されたデータから
    読み出す処理とを持ち,前記読み出す処理によって読み
    出された1時間分の各スケジュール設定時刻を示すアイ
    コンまたは各スケジュール内容を示す文字列を, 前記時
    刻表示パネル上の対応する分目盛り近傍に表示する処理
    を,コンピュータ・システム上で実行するように記述し
    たコンピュータ・ソフトウェアをコンピュータ可読形式
    で物理的に格納した記憶媒体であって,前記コンピュー
    タ・ソフトウェアは,前記スケジュール記憶処理により
    書かれた, 時刻に関連したスケジュール情報とは独立し
    たメッセージを読み出すステップと,前記読み出された
    メッセージを, 前記時刻表示パネル上に表示するステッ
    プと,を具備することを特徴とするコンピュータ可読記
    憶媒体.
  24. 【請求項24】前記スケジュール記憶システムに前記メ
    ッセージを登録するステップ,または, 前記スケジュー
    ル記憶システムに登録されたメッセージを保存するステ
    ップ,を具備することを特徴とする, 請求項23に記載
    のコンピュータ可読記憶媒体.
JP2002040859A 2002-02-18 2002-02-18 スケジュール表提示システム及びスケジュール表提示方法,並びに記憶媒体 Pending JP2003242126A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002040859A JP2003242126A (ja) 2002-02-18 2002-02-18 スケジュール表提示システム及びスケジュール表提示方法,並びに記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002040859A JP2003242126A (ja) 2002-02-18 2002-02-18 スケジュール表提示システム及びスケジュール表提示方法,並びに記憶媒体

Publications (1)

Publication Number Publication Date
JP2003242126A true JP2003242126A (ja) 2003-08-29

Family

ID=27781417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002040859A Pending JP2003242126A (ja) 2002-02-18 2002-02-18 スケジュール表提示システム及びスケジュール表提示方法,並びに記憶媒体

Country Status (1)

Country Link
JP (1) JP2003242126A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007271283A (ja) * 2006-03-30 2007-10-18 Navitime Japan Co Ltd ナビゲーションシステム、経路探索サーバ、端末装置および広告表示方法
JP2009043159A (ja) * 2007-08-10 2009-02-26 Toshiba Solutions Corp 取引時間表示プログラム及び装置
JP2010033132A (ja) * 2008-07-25 2010-02-12 Sony Corp 表示制御装置、表示制御方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007271283A (ja) * 2006-03-30 2007-10-18 Navitime Japan Co Ltd ナビゲーションシステム、経路探索サーバ、端末装置および広告表示方法
JP2009043159A (ja) * 2007-08-10 2009-02-26 Toshiba Solutions Corp 取引時間表示プログラム及び装置
JP2010033132A (ja) * 2008-07-25 2010-02-12 Sony Corp 表示制御装置、表示制御方法およびプログラム
JP4636134B2 (ja) * 2008-07-25 2011-02-23 ソニー株式会社 表示制御装置、表示制御方法およびプログラム

Similar Documents

Publication Publication Date Title
CN107430515B (zh) 开发环境中的可定制类型的可视化框架
US6466973B2 (en) Method and system for managing storage devices over a network
US6470364B1 (en) Method and apparatus for generating text components
US6950981B2 (en) Method and system for providing task information in a place
US5907326A (en) System and method for updating cultural profiles with dragging and dropping locale objects
US5917480A (en) Method and system for interacting with the content of a slide presentation
US6182278B1 (en) Program development support system and support method and storage medium for storing program components which are used for program development support
US6973618B2 (en) Method and system for importing MS office forms
US6744447B2 (en) Method and system for compiling and using placebot agents for automatically accessing, processing, and managing the data in a place
US7730410B2 (en) System and method for customizing form elements in a form building application
US8302014B2 (en) Merging modifications to user interface components while preserving user customizations
RU2388049C2 (ru) Способ и система для усовершенствованного электронного управления задачами и их маркировки
US7590553B2 (en) Integrated spatial view of time, location, and event schedule information
US20070180377A1 (en) Self-translating template
US20070288501A1 (en) Method and system for importing HTML forms
US20040205644A1 (en) Method and system for allowing in place editing of office documents in a place
JP2002507030A (ja) アプリケーションソフトウェアを自動的に実行する方法およびコンピュータ装置
US20070033518A1 (en) Computer-implemented method, system, and program product for hiding columns in an electronic table
US20070055944A1 (en) Configuration of displays for targeted user communities
JP2003523568A (ja) コンピュータにおいてアプリケーションソフトウエアを起動するための制御装置及び制御方法並びにこれを用いたマルチモニタコンピュータ、クライアントサーバシステム及び記憶媒体
US20130080879A1 (en) Methods and apparatus providing document elements formatting
CN113780976A (zh) 日程冲突处理方法、设备、存储介质及软件程序产品
US20080040677A1 (en) HMI Development Support Apparatus, HMI Development Support Method and HMI Development Support Program
WO2000067117A2 (en) Multilingual components for application development providing locale sensitive and culturally appropriate presentation of data
JPH10254689A (ja) クライアント・サーバシステムのアプリケーション構成設計支援方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061212