|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Object | +--com.nttdocomo.opt.ui.PointingDevice
ポインティングデバイス機能を定義します。
[DoJa-2.1]
ポインティングデバイスの有効/無効の制御と、
ポインタの画面上の位置の取得を行うことができます。
[DoJa-2.2]
ポインティングデバイスの有効/無効の制御と、
ポインタの画面上の位置の取得および設定と、
ポインタの表示/非表示の設定を行うことができます。
マウスモードのみ使用することができます。
[DoJa-3.5]
ポインティングデバイスの有効/無効の制御と、
マウスモード/ジョイスティックモードの切り替えを行うことができます。
マウスモードでは、ポインタの画面上の位置の取得および設定と、
ポインタの表示/非表示の設定を行うことができます。
ジョイスティックモードでは、ポインティングデバイスの操作方向および傾きを取得することができます。
ポインティングデバイスは、
カレントのフレームが Canvas
の時のみ使用できます。
アプリケーションがポインティングデバイスを使用するには、
setEnabled(boolean)
メソッドを呼び出してポインティングデバイスを有効にします。
ポインティングデバイスには以下の動作モードがあります。
ただし、端末に搭載されているデバイスによってはサポートされない動作モードやメソッドがある場合があります。
デフォルトの動作モードがどのモードかは機種依存です。
デフォルトの動作モードは、
初期状態で getMode()
メソッドを呼び出すことで取得することができます。
また、動作モードを設定するには
setMode(int)
メソッドを使用します。
なお、動作モードの設定は、
ポインティングデバイスが無効な状態で行うことを推奨します。
ポインティングデバイスが有効な状態で動作モードの設定を行うと、
デバイスによっては例外が発生する場合があります。
マウスモードでは、ポインタの画面上の位置の取得および設定と、 ポインタの表示/非表示の設定を行うことができます。
ポインティングデバイスが有効な状態の時にユーザがポインティングデバイスのスライド操作を開始すると、
カレントの Canvas に操作開始を表すイベント(Display.POINTER_MOVED_EVENT
)が通知されます。
ポインタの画面上の位置を取得するには、
getX()
, getY()
メソッドを使用します。
スライド操作の開始後はポインタの画面上の位置が変化してもアプリケーションには特に通知されませんので、
必要に応じてタイマーを使用して定期的に座標をチェックするなどしてください。
setPosition(int, int)
メソッドを使用します。
なお、スライド操作開始イベントが通知されるかどうかは、ポインティングデバイスの有効/無効状態とカレントのフレームの組み合わせによって以下の表のようになります。
(*) アプリケーションの起動直後でカレントのフレームが未設定の場合。
ポインティングデバイスの有効/無効 カレントのフレーム スライド操作開始イベントの通知
無効 なし(*) しない
Dialog
Panel
Canvas 有効 なし(*)
Dialog
Panel
Canvas する
ポインティングデバイスの操作方向および傾きを取得することができます。
ポインティングデバイスの操作方向は、直径 (MAX_DIRECTION_X - MIN_DIRECTION_X) の円周上に正規化されたベクトルとして表現され、
X 軸成分および Y 軸成分をそれぞれ getDirectionX()
および getDirectionY()
メソッドを使用して取得することができます。
ポインティングデバイスの傾き量は Z 軸成分として表現され、
getDirectionZ()
メソッドを使用して取得することができます。
ジョイスティックモードではポインタ表示を行いません。 また、ポインティングデバイスを操作しても操作開始を表すイベント(Display#POINTER_MOVED_EVENT)は通知されません。
いずれの動作モードにおいても、
ユーザがポインティングデバイスを兼用する SELECT キーを押下/解放した場合は、
通常のキー操作と同様にカレントの Canvas にキー押下を表すイベント(Display.KEY_PRESSED_EVENT
)とキー解放を表すイベント(Display.KEY_RELEASED_EVENT
)が通知されます(その際のパラメータは Display.KEY_SELECT
)。
端末によってサポートされていない場合があります。 未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。
フィールドの概要 | |
static int |
MAX_DIRECTION_X
ポインティングデバイスの操作方向の X 軸成分の最大値です(=127)。 |
static int |
MAX_DIRECTION_Y
ポインティングデバイスの操作方向の Y 軸成分の最大値です(=127)。 |
static int |
MIN_DIRECTION_X
ポインティングデバイスの操作方向の X 軸成分の最小値です(=-128)。 |
static int |
MIN_DIRECTION_Y
ポインティングデバイスの操作方向の Y 軸成分の最小値です(=-128)。 |
static int |
MODE_JOYSTICK
ポインティングデバイスの動作モードの属性の一つで、 ジョイスティックモードを表します (=1)。 |
static int |
MODE_MOUSE
ポインティングデバイスの動作モードの属性の一つで、 マウスモードを表します (=0)。 |
コンストラクタの概要 | |
protected |
PointingDevice()
アプリケーションが直接このクラスのインスタンスを生成することはできません。 |
メソッドの概要 | |
static int |
getDirectionX()
ポインティングデバイスの操作方向の X 軸成分を取得します。 |
static int |
getDirectionY()
ポインティングデバイスの操作方向の Y 軸成分を取得します。 |
static int |
getDirectionZ()
ポインティングデバイスの傾きを取得します。 |
static int |
getMaxDirectionZ()
ポインティングデバイスの傾きの最大値を取得します。 |
static int |
getMode()
現在のポインティングデバイスの動作モードを取得します。 |
static int |
getX()
ポインタの画面上での表示位置の X 座標を取得します。 |
static int |
getY()
ポインタの画面上での表示位置の Y 座標を取得します。 |
static boolean |
isAvailable()
端末のネイティブのポインティングデバイス使用可否設定を取得します。 |
static boolean |
isEnabled()
ポインティングデバイスの有効/無効状態を取得します。 |
static void |
setEnabled(boolean b)
ポインティングデバイスの有効/無効状態を設定します。 |
static void |
setMode(int mode)
ポインティングデバイスの動作モードを指定します。 |
static void |
setPosition(int x,
int y)
ポインタの画面上での表示位置を設定します。 |
static void |
setVisible(boolean b)
ポインタを画面に表示するかどうかを設定します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int MODE_MOUSE
public static final int MODE_JOYSTICK
public static final int MAX_DIRECTION_X
public static final int MIN_DIRECTION_X
public static final int MAX_DIRECTION_Y
public static final int MIN_DIRECTION_Y
コンストラクタの詳細 |
protected PointingDevice()
アプリケーションが直接このクラスのインスタンスを生成することはできません。
メソッドの詳細 |
public static void setEnabled(boolean b)
ポインティングデバイスの有効/無効状態を設定します。 デフォルトではポインティングデバイスは無効になっています。
このメソッドの設定はカレントのフレームを切り替えても影響を受けません。 すなわち、Canvas の表示中にポインティングデバイスを有効にして、 それから Panel に切り替えた後に再度 Canvas をカレントのフレームに設定した場合でも、 ポインティングデバイスは有効なままになります。
なお、端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 引数 b に true を指定してこのメソッドを呼び出してもポインティングデバイスを使用することはできません。
[DoJa-2.2]
端末のネイティブのポインティングデバイス使用可否設定は isAvailable()
メソッドで取得することができます。
[DoJa-3.5]
このメソッドはどの動作モードでも使用することができます。
b
- ポインティングデバイスを有効にする場合は true を、
無効にする場合は false を指定します。public static boolean isEnabled()
ポインティングデバイスの有効/無効状態を取得します。
カレントのフレームが Canvas かどうか等に関わらず、
直前の setEnabled(boolean)
メソッドの呼び出しによって設定された値を返します。
また、端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合であっても、
直前の setEnabled(boolean)
メソッドの呼び出しによって設定された値を返します。
[DoJa-2.2]
端末のネイティブのポインティングデバイス使用可否設定は isAvailable()
メソッドで取得することができます。
[DoJa-3.5]
このメソッドはどの動作モードでも使用することができます。
public static int getX()
ポインタの画面上での表示位置の X 座標を取得します。
ポインタの座標は、常に画面左上を原点とした絶対座標で返されます。
Graphics.setOrigin(int, int)
メソッド等によって、
Canvas
に関連付けられた Graphics
オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。
端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、
このメソッドは負の値を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas
でない場合にどのような値を返すかは機種依存です。
[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。
ジョイスティックモード時にどのような値を返すかは機種依存です。
public static int getY()
ポインタの画面上での表示位置の Y 座標を取得します。
ポインタの座標は、常に画面左上を原点とした絶対座標で返されます。
Graphics.setOrigin(int, int)
メソッド等によって、
Canvas
に関連付けられた Graphics
オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。
端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、
このメソッドは負の値を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas
でない場合にどのような値を返すかは機種依存です。
[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。
ジョイスティックモード時にどのような値を返すかは機種依存です。
public static void setPosition(int x, int y)
ポインタの画面上での表示位置を設定します。
ポインタの座標は、画面左上を原点とした絶対座標で指定します。
Graphics.setOrigin(int, int)
メソッド等によって、
Canvas
に関連付けられた Graphics
オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。
このメソッドがポインティングデバイスが無効な状態の時に呼び出された場合は、
setEnabled(true)
メソッドの呼び出しによって有効に設定された時に、
ポインタが指定された表示位置に現れます。
ポインティングデバイスが有効な状態の時に呼び出された場合は、
即座にポインタが指定された表示位置に移動します。
引数で指定された座標がポインティングデバイスの移動可能範囲を超えている場合は、 移動可能範囲内に丸められます。
[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。
ジョイスティックモード時に呼び出された場合には何もしません。
x
- ポインタの画面上での X 座標を指定します。y
- ポインタの画面上での Y 座標を指定します。public static void setVisible(boolean b)
ポインタを画面に表示するかどうかを設定します。 デフォルトではポインタが画面に表示されるようになっています。
アプリケーションで、 ポインタの画面上での表示位置に合わせてポインタに類するものを表示するような場合、 このメソッドを使用するとネイティブ側のポインタを表示しないようにすることができます。 ポインタを非表示に設定した場合も、 ネイティブ側のポインタが画面に表示されない以外は、 ポインティングデバイスの振る舞いは通常の場合と変わりません。
このメソッドの設定は、setEnabled(boolean)
メソッド等の他のメソッドが呼び出されても影響を受けません。
一度ポインタを非表示に設定した場合は、このメソッドでポインタを表示するように設定するまで非表示のままとなります。
[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。
ジョイスティックモード時に呼び出された場合には何もしません。
b
- ポインタを表示する場合は true を、非表示にする場合は false を指定します。public static boolean isAvailable()
端末のネイティブのポインティングデバイス使用可否設定を取得します。
端末のネイティブの設定によってポインティングデバイスが使用不能に設定されている場合は、
setEnabled(true)
メソッドを呼び出してもポインティングデバイスを使用することはできません。
[DoJa-3.5]
このメソッドはどの動作モードでも使用することができます。
public static final void setMode(int mode)
ポインティングデバイスの動作モードを指定します。
端末によっては、サポートしていない動作モードが存在します。
サポートされていない動作モードが指定された場合には無視され、
getMode()
の戻り値に変化はありません。
このメソッドはどの動作モードでも使用することができます。 ポインティングデバイスが有効な状態で使用すると、 デバイスによっては例外が発生する場合があります。
mode
- 動作モードを指定します。このクラスの "MODE_"
から初まるフィールドを指定することができます。
IllegalArgumentException
- 引数 mode に不正な値が指定された場合に発生します。
com.nttdocomo.device.DeviceException
- スライド操作中など、
デバイスの制限により動作モードを切り替えることができない状態のときに呼び出された場合に発生します(BUSY_RESOURCE)。
public static final int getMode()
現在のポインティングデバイスの動作モードを取得します。
このメソッドはどの動作モードでも使用することができます。
public static int getDirectionX()
ポインティングデバイスの操作方向の X 軸成分を取得します。
なお、ポインティングデバイスの傾き
が 0 の場合はこのメソッドは 0 を返します。
端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、
このメソッドは 0 を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas
でない場合にどのような値を返すかは機種依存です。
このメソッドはジョイスティックモードでのみ使用することができます。 マウスモードでは常に 0 を返します。
public static int getDirectionY()
ポインティングデバイスの操作方向の Y 軸成分を取得します。
なお、ポインティングデバイスの傾き
が 0 の場合はこのメソッドは 0 を返します。
端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、
このメソッドは 0 を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas
でない場合にどのような値を返すかは機種依存です。
このメソッドはジョイスティックモードでのみ使用することができます。 マウスモードでは常に 0 を返します。
public static int getDirectionZ()
ポインティングデバイスの傾きを取得します。
取得される値の解像度は 1 です。
すなわち、(傾けていない状態も含めて)傾きの程度を n 段階取得できる端末
(getMaxDirectionZ()
が n - 1 を返す端末) では、
このメソッドの戻り値は、区間 [0, n - 1] に属する任意の整数となります。
端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、
このメソッドは 0 を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas
でない場合にどのような値を返すかは機種依存です。
このメソッドはジョイスティックモードでのみ使用することができます。 マウスモードでは常に 0 を返します。
public static int getMaxDirectionZ()
ポインティングデバイスの傾きの最大値を取得します。 (傾けていない状態も含めて)傾きの程度を n 段階取得できる端末では、 このメソッドの戻り値は n - 1 となります。 なお、このメソッドは、 下記の場合も含めて、ジョイスティックモードであれば、 同じ端末では常に同じ値を返します。
Canvas
でない場合
このメソッドはジョイスティックモードでのみ使用することができます。 マウスモード時にどのような値を返すかは機種依存です。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DoCoMo,Inc.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。