com.nttdocomo.opt.ui
クラス PointingDevice

Object
  |
  +--com.nttdocomo.opt.ui.PointingDevice

public class PointingDevice
extends Object

ポインティングデバイス機能を定義します。
[DoJa-2.1]
ポインティングデバイスの有効/無効の制御と、 ポインタの画面上の位置の取得を行うことができます。 マウスモードのみ使用することができます。
[DoJa-2.2]
ポインティングデバイスの有効/無効の制御と、 ポインタの画面上の位置の取得および設定と、 ポインタの表示/非表示の設定を行うことができます。
マウスモードのみ使用することができます。
[DoJa-3.5]
ポインティングデバイスの有効/無効の制御と、 マウスモード/ジョイスティックモードの切り替えを行うことができます。 マウスモードでは、ポインタの画面上の位置の取得および設定と、 ポインタの表示/非表示の設定を行うことができます。 ジョイスティックモードでは、ポインティングデバイスの操作方向および傾きを取得することができます。

ポインティングデバイスは、 カレントのフレームが Canvas の時のみ使用できます。 アプリケーションがポインティングデバイスを使用するには、 setEnabled(boolean) メソッドを呼び出してポインティングデバイスを有効にします。

ポインティングデバイスには以下の動作モードがあります。 ただし、端末に搭載されているデバイスによってはサポートされない動作モードやメソッドがある場合があります。
デフォルトの動作モードがどのモードかは機種依存です。 デフォルトの動作モードは、 初期状態で getMode() メソッドを呼び出すことで取得することができます。 また、動作モードを設定するには setMode(int) メソッドを使用します。 なお、動作モードの設定は、 ポインティングデバイスが無効な状態で行うことを推奨します。 ポインティングデバイスが有効な状態で動作モードの設定を行うと、 デバイスによっては例外が発生する場合があります。

いずれの動作モードにおいても、 ユーザがポインティングデバイスを兼用する SELECT キーを押下/解放した場合は、 通常のキー操作と同様にカレントの Canvas にキー押下を表すイベント(Display.KEY_PRESSED_EVENT)とキー解放を表すイベント(Display.KEY_RELEASED_EVENT)が通知されます(その際のパラメータは Display.KEY_SELECT)。

端末によってサポートされていない場合があります。 未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。

導入されたバージョン:
DoJa-2.1

フィールドの概要
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
 

フィールドの詳細

MODE_MOUSE

public static final int MODE_MOUSE
ポインティングデバイスの動作モードの属性の一つで、 マウスモードを表します (=0)。

関連項目:
定数フィールド値

MODE_JOYSTICK

public static final int MODE_JOYSTICK
ポインティングデバイスの動作モードの属性の一つで、 ジョイスティックモードを表します (=1)。

関連項目:
定数フィールド値

MAX_DIRECTION_X

public static final int MAX_DIRECTION_X
ポインティングデバイスの操作方向の X 軸成分の最大値です(=127)。

導入されたバージョン:
DoJa-3.5
関連項目:
定数フィールド値

MIN_DIRECTION_X

public static final int MIN_DIRECTION_X
ポインティングデバイスの操作方向の X 軸成分の最小値です(=-128)。

導入されたバージョン:
DoJa-3.5
関連項目:
定数フィールド値

MAX_DIRECTION_Y

public static final int MAX_DIRECTION_Y
ポインティングデバイスの操作方向の Y 軸成分の最大値です(=127)。

導入されたバージョン:
DoJa-3.5
関連項目:
定数フィールド値

MIN_DIRECTION_Y

public static final int MIN_DIRECTION_Y
ポインティングデバイスの操作方向の Y 軸成分の最小値です(=-128)。

導入されたバージョン:
DoJa-3.5
関連項目:
定数フィールド値
コンストラクタの詳細

PointingDevice

protected PointingDevice()

アプリケーションが直接このクラスのインスタンスを生成することはできません。

メソッドの詳細

setEnabled

public static void setEnabled(boolean b)

ポインティングデバイスの有効/無効状態を設定します。 デフォルトではポインティングデバイスは無効になっています。

このメソッドの設定はカレントのフレームを切り替えても影響を受けません。 すなわち、Canvas の表示中にポインティングデバイスを有効にして、 それから Panel に切り替えた後に再度 Canvas をカレントのフレームに設定した場合でも、 ポインティングデバイスは有効なままになります。

なお、端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 引数 b に true を指定してこのメソッドを呼び出してもポインティングデバイスを使用することはできません。

[DoJa-2.2]
端末のネイティブのポインティングデバイス使用可否設定は isAvailable() メソッドで取得することができます。

[DoJa-3.5]
このメソッドはどの動作モードでも使用することができます。

パラメータ:
b - ポインティングデバイスを有効にする場合は true を、 無効にする場合は false を指定します。

isEnabled

public static boolean isEnabled()

ポインティングデバイスの有効/無効状態を取得します。

カレントのフレームが Canvas かどうか等に関わらず、 直前の setEnabled(boolean) メソッドの呼び出しによって設定された値を返します。 また、端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合であっても、 直前の setEnabled(boolean) メソッドの呼び出しによって設定された値を返します。

[DoJa-2.2]
端末のネイティブのポインティングデバイス使用可否設定は isAvailable() メソッドで取得することができます。

[DoJa-3.5]
このメソッドはどの動作モードでも使用することができます。

戻り値:
ポインティングデバイスの有効/無効状態を返します。

getX

public static int getX()

ポインタの画面上での表示位置の X 座標を取得します。 ポインタの座標は、常に画面左上を原点とした絶対座標で返されます。 Graphics.setOrigin(int, int) メソッド等によって、 Canvas に関連付けられた Graphics オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。

端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 このメソッドは負の値を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas でない場合にどのような値を返すかは機種依存です。

[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。 ジョイスティックモード時にどのような値を返すかは機種依存です。

戻り値:
ポインタの画面上での X 座標を返します。

getY

public static int getY()

ポインタの画面上での表示位置の Y 座標を取得します。 ポインタの座標は、常に画面左上を原点とした絶対座標で返されます。 Graphics.setOrigin(int, int) メソッド等によって、 Canvas に関連付けられた Graphics オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。

端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 このメソッドは負の値を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas でない場合にどのような値を返すかは機種依存です。

[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。 ジョイスティックモード時にどのような値を返すかは機種依存です。

戻り値:
ポインタの画面上での Y 座標を返します。

setPosition

public static void setPosition(int x,
                               int y)

ポインタの画面上での表示位置を設定します。 ポインタの座標は、画面左上を原点とした絶対座標で指定します。
Graphics.setOrigin(int, int) メソッド等によって、 Canvas に関連付けられた Graphics オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。

このメソッドがポインティングデバイスが無効な状態の時に呼び出された場合は、 setEnabled(true) メソッドの呼び出しによって有効に設定された時に、 ポインタが指定された表示位置に現れます。 ポインティングデバイスが有効な状態の時に呼び出された場合は、 即座にポインタが指定された表示位置に移動します。

引数で指定された座標がポインティングデバイスの移動可能範囲を超えている場合は、 移動可能範囲内に丸められます。

[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。 ジョイスティックモード時に呼び出された場合には何もしません。

パラメータ:
x - ポインタの画面上での X 座標を指定します。
y - ポインタの画面上での Y 座標を指定します。
導入されたバージョン:
DoJa-2.2

setVisible

public static void setVisible(boolean b)

ポインタを画面に表示するかどうかを設定します。 デフォルトではポインタが画面に表示されるようになっています。

アプリケーションで、 ポインタの画面上での表示位置に合わせてポインタに類するものを表示するような場合、 このメソッドを使用するとネイティブ側のポインタを表示しないようにすることができます。 ポインタを非表示に設定した場合も、 ネイティブ側のポインタが画面に表示されない以外は、 ポインティングデバイスの振る舞いは通常の場合と変わりません。

このメソッドの設定は、setEnabled(boolean) メソッド等の他のメソッドが呼び出されても影響を受けません。 一度ポインタを非表示に設定した場合は、このメソッドでポインタを表示するように設定するまで非表示のままとなります。

[DoJa-3.5]
このメソッドはマウスモードでのみ使用することができます。 ジョイスティックモード時に呼び出された場合には何もしません。

パラメータ:
b - ポインタを表示する場合は true を、非表示にする場合は false を指定します。
導入されたバージョン:
DoJa-2.2

isAvailable

public static boolean isAvailable()

端末のネイティブのポインティングデバイス使用可否設定を取得します。 端末のネイティブの設定によってポインティングデバイスが使用不能に設定されている場合は、 setEnabled(true) メソッドを呼び出してもポインティングデバイスを使用することはできません。

[DoJa-3.5]
このメソッドはどの動作モードでも使用することができます。

戻り値:
端末のネイティブの設定でポインティングデバイスが使用可能になっている場合は true を、 使用不能になっている場合は false を返します。
導入されたバージョン:
DoJa-2.2

setMode

public static final void setMode(int mode)

ポインティングデバイスの動作モードを指定します。 端末によっては、サポートしていない動作モードが存在します。 サポートされていない動作モードが指定された場合には無視され、 getMode() の戻り値に変化はありません。

このメソッドはどの動作モードでも使用することができます。 ポインティングデバイスが有効な状態で使用すると、 デバイスによっては例外が発生する場合があります。

パラメータ:
mode - 動作モードを指定します。このクラスの "MODE_" から初まるフィールドを指定することができます。
例外:
IllegalArgumentException - 引数 mode に不正な値が指定された場合に発生します。
com.nttdocomo.device.DeviceException - スライド操作中など、 デバイスの制限により動作モードを切り替えることができない状態のときに呼び出された場合に発生します(BUSY_RESOURCE)。
導入されたバージョン:
DoJa-3.5

getMode

public static final int getMode()

現在のポインティングデバイスの動作モードを取得します。

このメソッドはどの動作モードでも使用することができます。

戻り値:
現在のポインティングデバイスの動作モードを返します。
導入されたバージョン:
DoJa-3.5

getDirectionX

public static int getDirectionX()

ポインティングデバイスの操作方向の X 軸成分を取得します。 なお、ポインティングデバイスの傾きが 0 の場合はこのメソッドは 0 を返します。

端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 このメソッドは 0 を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas でない場合にどのような値を返すかは機種依存です。

このメソッドはジョイスティックモードでのみ使用することができます。 マウスモードでは常に 0 を返します。

戻り値:
ポインティングデバイスの操作方向の X 軸成分を返します。
導入されたバージョン:
DoJa-3.5

getDirectionY

public static int getDirectionY()

ポインティングデバイスの操作方向の Y 軸成分を取得します。 なお、ポインティングデバイスの傾きが 0 の場合はこのメソッドは 0 を返します。

端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 このメソッドは 0 を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas でない場合にどのような値を返すかは機種依存です。

このメソッドはジョイスティックモードでのみ使用することができます。 マウスモードでは常に 0 を返します。

戻り値:
ポインティングデバイスの操作方向の Y 軸成分を返します。
導入されたバージョン:
DoJa-3.5

getDirectionZ

public static int getDirectionZ()

ポインティングデバイスの傾きを取得します。 取得される値の解像度は 1 です。 すなわち、(傾けていない状態も含めて)傾きの程度を n 段階取得できる端末 (getMaxDirectionZ() が n - 1 を返す端末) では、 このメソッドの戻り値は、区間 [0, n - 1] に属する任意の整数となります。

端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合は、 このメソッドは 0 を返します。
ポインティングデバイスが無効か、またはカレントのフレームが Canvas でない場合にどのような値を返すかは機種依存です。

このメソッドはジョイスティックモードでのみ使用することができます。 マウスモードでは常に 0 を返します。

戻り値:
ポインティングデバイスの傾きを返します。
導入されたバージョン:
DoJa-3.5

getMaxDirectionZ

public static int getMaxDirectionZ()

ポインティングデバイスの傾きの最大値を取得します。 (傾けていない状態も含めて)傾きの程度を n 段階取得できる端末では、 このメソッドの戻り値は n - 1 となります。 なお、このメソッドは、 下記の場合も含めて、ジョイスティックモードであれば、 同じ端末では常に同じ値を返します。

  • 端末のネイティブの設定でポインティングデバイスが使用不能に設定されている場合
  • ポインティングデバイスが無効な場合
  • カレントのフレームが Canvas でない場合

このメソッドはジョイスティックモードでのみ使用することができます。 マウスモード時にどのような値を返すかは機種依存です。

戻り値:
ポインティングデバイスの傾きの最大値を返します。
導入されたバージョン:
DoJa-3.5


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。