|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.microedition.lcdui.Command
public class Command
このクラスはアクション・イベントに関する情報をカプセル化して運搬するために使用します。
Command オブジェクト自身は実行すべきアクションの振る舞いそのものはカプセル化しません。
Command オブジェクトは実行すべき情報のみを含みます。
Command オブジェクトによるアクションを受け取るリスナーは Screen と関連した CommandListener に定義されています。
Command オブジェクトはユーザーインタフェースにより生成されます。
それらが生成する理由は Command オブジェクト内に含まれている情報によって判定することができます。
Command オブジェクトは特定のアクションを示すために関連付けられたユーザーインタフェースと連動して発生することがあります。
例えば、ソフト・ボタン、メニューアイテム、あるいはその他の直接的なユーザーインタフェースであることもあります。
例えば任意の方向へ傾けることによって対応する Command オブジェクトを発生させるかもしれません。
実装はコマンドの総数によってユーザーインタフェース上の表現および操作方法等が変更することがあります。 例えば、アプリケーションが少ないコマンドを必要とする場合は特定の物理的なキーにマッピングし、より多くのコマンドを必要とする場合はメニューなどユーザーインタフェースを使用するといった構成をとることがあります。
Command オブジェクトは短いラベル、オプションの長いラベル、タイプおよびプライオリティの4つの情報を保持しています。
このうちラベルは視覚的な表現に用います。
残りのタイプとプライオリティは Command オブジェクトのセマンティクスとして使用します。
それぞれの要素の詳細は以下のとおりです。
各 Command オブジェクトは1個か2個のラベル文字列を保持します。
ラベル文字列はアプリケーションが対象となるコマンドを実装がユーザーに提示する際に使用します。
例えばラベル文字列をメニューとして表示したり、ソフト・ボタンの近くに表示する際に使用したりするでしょう。
SCREEN 以外のコマンドタイプについては、設定されたラベルがデバイス上の用意されたより適切なラベルに読み替えられることがあります。
ただし、ラベル文字列の内容は実装によって別の内容に置き換えられることはありません。
全てのコマンドには短いラベルがあります。 長いラベルは任意です。 長いラベルがコマンドに存在していないならば、常に短いラベルを使用します。
短いラベル文字列はできる限り短くあるべきもので、それは最小物理画面を使用します。 長いラベルはより長くて、より説明文的ではあるかもしれませんが、数個の単語より長くすべきではありません。 例えば、コマンドの短いラベルが"Play"であったとして、それに対応する長いラベルが"Play Sound Clip"であるかもしれません。
実装は状況とユーザーインタフェースで使用可能な画面サイズに基づいて1つのラベルを選択します。 例えばコマンドがソフト・ボタンに割り当てられるなら実装は短いラベルを使用するかもしれません。また、コマンドがメニューに割り当てられ、表示領域の余裕があれば実装は長いラベルを使用するかもしれません。 実装はいくつかのコマンドで短いラベルを使用し、他のコマンドで長いラベルを使用するかもしれません。また、長いラベルと短いラベルを自由自在に切り替えて使用することができます。 アプリケーションはどのラベルがその時々で使用されるべきであるかという指定をすることはできません。
Command オブジェクトがどのような意味を持って生成されたかを示すのがタイプです。
例えば、コマンドタイプが「back」であることをアプリケーションが明示した場合、実装はデバイスが標準として提供する「back」に対応するオペレーションスタイルに合わせることができます。
定義されているタイプは、BACK、CANCEL、EXIT、HELP、ITEM、OK、SCREEN、STOP です。
アプリケーションは、同じ Screen オブジェクト内の他の Command オブジェクトとこの Command オブジェクトの相対的な重要性を示すためにプライオリティ値を設定します。
実装はプライオリティ値がより小さい値であるほど重要性が高いと評価します。
実際に設定する値はアプリケーションに委ねられています。
アプリケーションは重要なコマンドほどプライオリティを高く(つまりより小さい値)したり、使用頻度順によって変更したりすることができます。
一般に、実装は最初に Command オブジェクトのタイプに基づいた Command オブジェクトのマッピングを決定し、次にプライオリティ順の Command オブジェクトのマッピングを行います。
これにより、プライオリティの高い同一タイプの Command オブジェクトをユーザーが直接発生させることができるようにソフト・ボタン等に割り当て、プライオリティが低い Command オブジェクトはメニューから呼び出すように割り当てるといった調整を行う機会を得ます。
同じタイプで同じプライオリティの Command オブジェクトを同一の Screen オブジェクトに登録するのは不正なことではありません。
このような登録が行われた場合、実装が順位を決定します。
例えばアプリケーションに以下のコマンドセットがあったとします:
new Command(" 購入 ", Command.SCREEN, 1);
new Command(" 情報 ", Command.SCREEN, 1);
new Command(" 戻る ", Command.BACK, 1);
2つのソフト・ボタンが存在する実装では、BACK コマンドを右ソフト・ボタンに割り当て、"オプション"メニューとして他のコマンドを含む左ソフト・ボタンに作成するかもしれません。
ユーザーが左ソフト・ボタンを押すと、残り2つの Command がメニューで表示されます:
アプリケーションが使用可能な3つのソフト・ボタンがある場合には、全てのコマンドをソフト・ボタンに割り当てることができます。
アプリケーションは常にユーザーがスクリーンを移動する手段を提供すべきです。
アプリケーションは Command オブジェクトのリスナーを持っていない Screen オブジェクトを用意することもできます。
しかし、このような Screen オブジェクトはユーザーによって別のスクリーンに移動する手段を提供できないでしょう。
実装はこのような誤ったアプリケーションを停止させることができるような手段を提供すべきです。
| フィールドの概要 | |
|---|---|
static int |
BACK
以前のスクリーンへ戻るコマンドタイプを示す定数( =2)です。 |
static int |
CANCEL
現在のスクリーンに対してユーザーが否定を表現するコマンドタイプを示す定数( =3)です。 |
static int |
EXIT
ユーザーが現在実行中のアプリケーションを終了することを求めるコマンドタイプを示す定数( =7)です。 |
static int |
HELP
ユーザーが現在のスクリーンに対するヘルプを求めるコマンドタイプを示す定数( =5)です。 |
static int |
ITEM
現在のスクリーン上の特別なアイテムに特有なコマンドタイプであることを実装に暗に示す定数( =8)です。 |
static int |
OK
現在のスクリーンに対してユーザーが肯定を表現するコマンドタイプを示す定数( =4)です。 |
static int |
SCREEN
現在のスクリーンに対応するアプリケーション定義のコマンドタイプを示す定数( =1)です。 |
static int |
STOP
ユーザーが現在の処理を停止することを求めるコマンドタイプを示す定数( =6)です。 |
| コンストラクタの概要 | |
|---|---|
Command(String label,
int commandType,
int priority)
ラベル、タイプおよびプライオリティを受け取ってオブジェクトを構築します。 |
|
Command(String shortLabel,
String longLabel,
int commandType,
int priority)
ラベル、タイプおよびプライオリティを受け取ってオブジェクトを構築します。 |
|
| メソッドの概要 | |
|---|---|
int |
getCommandType()
設定されているコマンドタイプを返します。 |
String |
getLabel()
設定されている短いラベルを返します。 |
String |
getLongLabel()
設定されている長いラベルを返します。 |
int |
getPriority()
設定されているプライオリティを返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int SCREEN
現在のスクリーンに対応するアプリケーション定義のコマンドタイプを示す定数(=1)です。
例えば「ロード」および「セーブ」など等で使用します。
public static final int BACK
以前のスクリーンへ戻るコマンドタイプを示す定数(=2)です。
実装は以前のスクリーンへの移動処理は提供しません。
アプリケーションが CommandListener インタフェースの commandAction メソッドを実装して処理を提供する必要がある点に注意が必要です。
これは以前のスクリーンがアプリケーションによって意味合いが異なる可能性があるためです。
CANCEL,
STOP,
定数フィールド値public static final int CANCEL
現在のスクリーンに対してユーザーが否定を表現するコマンドタイプを示す定数(=3)です。
実装はこのコマンドに対応する実装を提供しません。
アプリケーションが CommandListener インタフェースの commandAction メソッドを実装して処理を提供する必要があります。
アプリケーションはこのコマンドタイプを、現在のスクリーンに入力された内容等に触れずに、以前のスクリーンへ戻るような場合に使用すべきです。
通常、以前のスクリーンへ戻るコマンドタイプは BACK ですが、このコマンドタイプは特に否定を示す場合に使用するものです。
BACK,
STOP,
定数フィールド値public static final int OK
現在のスクリーンに対してユーザーが肯定を表現するコマンドタイプを示す定数(=4)です。
実装はこのコマンドに対応する実装を提供しません。
アプリケーションが CommandListener インタフェースの commandAction メソッドを実装して処理を提供する必要があります。
アプリケーションはこのコマンドタイプを、現在のスクリーンの表示内容や入力内容を確認し、確定することを意味するような用途に使用すべきです。
CANCEL,
定数フィールド値public static final int HELP
ユーザーが現在のスクリーンに対するヘルプを求めるコマンドタイプを示す定数(=5)です。
実装はこのコマンドに対応する実装を提供しません。
アプリケーションが CommandListener インタフェースの commandAction メソッドを実装して、このコマンドタイプを受け取った場合にはヘルプを提供する必要があります。
public static final int STOP
ユーザーが現在の処理を停止することを求めるコマンドタイプを示す定数(=6)です。
実装はこのコマンドに対応する実装を提供しません。
アプリケーションが CommandListener インタフェースの commandAction メソッドを実装して、このコマンドタイプを受け取った場合には実行中の処理を停止しなければなりません。
このコマンドタイプは実装に対して、ユーザーの求めに応じて現在実行中の処理を停止する処理をアプリケーションが提供することを暗に示します。 停止対象は時間のかかる演算処理やネットワークを経由したロード処理等を停止させる場合に使用すべきです。 このコマンドタイプは必ずしも他のスクリーンへの遷移を意味しません。
BACK,
CANCEL,
定数フィールド値public static final int EXIT
ユーザーが現在実行中のアプリケーションを終了することを求めるコマンドタイプを示す定数(=7)です。
実装はこのコマンドに対応する実装を提供しません。
アプリケーションが CommandListener インタフェースの commandAction メソッドを実装して、このコマンドタイプを受け取った場合にはアプリケーションを終了すべきです。
public static final int ITEM
現在のスクリーン上の特別なアイテムに特有なコマンドタイプであることを実装に暗に示す定数(=8)です。
例えば、リストの実装は状況を直ちに把握するためにこの情報を使用することができます。
| コンストラクタの詳細 |
|---|
public Command(String label,
int commandType,
int priority)
ラベル、タイプおよびプライオリティを受け取ってオブジェクトを構築します。
新たに作成されたコマンドには、長いラベルが設定されていません。
このコンストラクタは、Command(label, null, commandType, priority) の使用と等価です。
label - 設定する短いラベル文字列を渡します。commandType - 構築するタイプを渡します。priority - コマンドのプライオリティを渡します。
IllegalArgumentException - 渡されたコマンドタイプが不正な場合に throw します。
NullPointerException - label に null が指定された場合に throw します。
public Command(String shortLabel,
String longLabel,
int commandType,
int priority)
ラベル、タイプおよびプライオリティを受け取ってオブジェクトを構築します。
短いラベルは必須であり、null にすることはできません。
長いラベルは任意であり、コマンドが長いラベルを持たない場合は null を渡します。
shortLabel - コマンドの短いラベルを渡します。longLabel - コマンドの長いラベルまたは不要であれば null を渡します。commandType - コマンドのタイプを渡します。priority - コマンドのプライオリティを渡します。
IllegalArgumentException - 渡されたコマンドタイプが不正な場合に throw します。
NullPointerException - shortLabel に null が指定された場合に throw します。| メソッドの詳細 |
|---|
public String getLabel()
設定されている短いラベルを返します。
public String getLongLabel()
設定されている長いラベルを返します。
Command に長いラベルが設定されていなければ null を返します。public int getCommandType()
設定されているコマンドタイプを返します。
public int getPriority()
設定されているプライオリティを返します。
|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
| 公式仕様書原文の著作権表記等(※): Mobile Information Device Profile Specification ("Specification") Version: 2.0 Status: FCS Release: November 5, 2002 Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc. All rights reserved. | ※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |
