com.docomostar.opt.ui
クラス TouchDevice

Object
  拡張com.docomostar.opt.ui.TouchDevice

public class TouchDevice
extends Object

タッチパネルデバイス機能を定義します。

タッチパネルデバイスの有効/無効の制御と、タッチパネル上のタッチ位置の取得を行うことができます。 タッチパネルデバイスは、カレントのフレームが Canvas の時のみ使用できます。 アプリケーションがタッチパネルデバイスを使用するには、 setEnabled(boolean) メソッドを呼び出してタッチパネルデバイスを有効にします。

タッチパネルデバイスが有効な状態の時にユーザがタッチパネル上でタッチ操作(タッチパネルを指で触る操作)、 ムーブ操作(タッチパネルを触れた状態のまま指を移動させる操作)、リリース操作(タッチパネルから指を離す操作)を行うと、 カレントの Canvas にそれぞれ以下のようなイベントが通知されます。 2 本指での操作機能(オプション)をサポートしている端末では、 2 本指を広げる操作、 2 本指をつまむ操作を行った際にもイベントが通知されます。
タッチパネル上の操作イベントタイプ
タッチ操作Display.TOUCH_PRESSED_EVENT
ムーブ操作(開始)Display.TOUCH_MOVEDSTART_EVENT
ムーブ操作(停止)Display.TOUCH_MOVEDEND_EVENT
リリース操作Display.TOUCH_RELEASED_EVENT
[Star-1.1 以降] 2 本指を広げる操作Display.TOUCH_PINCHOPEN_EVENT
[Star-1.1 以降] 2 本指をつまむ操作Display.TOUCH_PINCHCLOSE_EVENT

2 本指を広げる操作、 2 本指をつまむ操作時に発生するイベントは、操作の継続中には一定の時間毎に通知されます。 (指の移動距離や移動速度とは関係ありません。) タッチデバイス機能をサポートしている端末であっても、これらのイベントをサポートしていない場合があります。

タッチ位置を取得するには、 getX() 、 getY() メソッドを使用します。 ムーブ操作の開始後はタッチパネル上のタッチ位置が変化してもアプリケーションには特に通知されませんので、 必要に応じてタイマーを使用して定期的に座標をチェックするなどしてください。 2 本指での操作機能をサポートしている端末で、2 本指を広げる操作、または 2 本指をつまむ操作を行った場合、 getX() 、 getY() メソッドから返される座標は機種依存です。

タッチパネル上の操作はタッチ操作、ムーブ操作、リリース操作の順となり、必ずタッチ操作から開始され、リリース操作で終了します。 ムーブ操作については一連の操作の中で 0 回以上の複数回操作を行うことができます。

以下の場合にはタッチパネル上でタッチ操作、ムーブ操作、リリース操作、 2 本指を広げる操作、 2 本指をつまむ操作を行ってもイベントは通知されません。

また、タッチパネル上に指が触れている状態で、下記の動作の後にムーブ操作、リリース操作、 2 本指を広げる操作、 2 本指をつまむ操作を行ってもイベントは通知されません。 イベントを発生させるには新たにタッチ操作を行う必要があります。

2 本指での操作機能をサポートしている端末上での 2 本指を広げる操作、2 本指をつまむ操作を除き、タッチパネル上の複数個所に指が触れていた場合の動作は機種依存です。 タッチパネルの操作と同時にポインティングデバイスをマウスモードで操作した場合の振る舞いは機種依存です。

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

導入されたバージョン:
Star-1.0

コンストラクタの概要
protected TouchDevice()
          アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
static int getX()
           タッチパネル上でのタッチされている位置の X 座標を取得します。
static int getY()
           タッチパネル上でのタッチされている位置の Y 座標を取得します。
static boolean isAvailable()
           端末のネイティブのタッチパネルデバイス使用可否設定を取得します。
static boolean isEnabled()
           タッチパネルデバイスの有効/無効状態を取得します。
static void setEnabled(boolean b)
           タッチパネルデバイスの有効/無効状態を設定します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TouchDevice

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

メソッドの詳細

getX

public static int getX()

タッチパネル上でのタッチされている位置の X 座標を取得します。 タッチパネルに指がタッチされていない状態では、直前にリリース操作が行われた位置の X 座標を返します。 タッチパネルの座標は、常に Star アプリ描画領域の画面左上を原点とした絶対座標で返されます。 Graphics.setOrigin(int, int) メソッド等によって、 Canvas に関連付けられた Graphics オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。

以下の場合には、このメソッドは負の値を返します。

また、タッチパネル上に指が触れている状態で、下記の動作の後に本メソッドを呼び出すと負の値を返します。 タッチされている位置の座標を取得するには新たにタッチ操作を行う必要があります。

戻り値:
タッチパネル上でのタッチされている位置の X 座標を返します。
例外:
com.docomostar.lang.UnsupportedOperationException -
タッチパネル機能をサポートしていない場合に発生します。

getY

public static int getY()

タッチパネル上でのタッチされている位置の Y 座標を取得します。 タッチパネルに指がタッチされていない状態では、直前にリリース操作が行われた位置の Y 座標を返します。 タッチパネルの座標は、常に Star アプリ描画領域の画面左上を原点とした絶対座標で返されます。 Graphics.setOrigin(int, int) メソッド等によって、 Canvas に関連付けられた Graphics オブジェクトの描画における座標系が変更されていたとしても、それらの設定の影響は受けません。

以下の場合には、このメソッドは負の値を返します。

また、タッチパネル上に指が触れている状態で、下記の動作の後に本メソッドを呼び出すと負の値を返します。 タッチされている位置の座標を取得するには新たにタッチ操作を行う必要があります。

戻り値:
タッチパネル上でのタッチされている位置の Y 座標を返します。
例外:
com.docomostar.lang.UnsupportedOperationException -
タッチパネル機能をサポートしていない場合に発生します。

isAvailable

public static boolean isAvailable()

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

戻り値:
端末のネイティブの設定でタッチパネルデバイスが使用可能になっている場合は true を、 使用不能になっている場合は false を返します。
例外:
com.docomostar.lang.UnsupportedOperationException -
タッチパネル機能をサポートしていない場合に発生します。

isEnabled

public static boolean isEnabled()

タッチパネルデバイスの有効/無効状態を取得します。

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

端末のネイティブのタッチパネルデバイス使用可否設定は isAvailable() メソッドで取得することができます。

戻り値:
タッチパネルデバイスの有効/無効状態を返します。
例外:
com.docomostar.lang.UnsupportedOperationException -
タッチパネル機能をサポートしていない場合に発生します。

setEnabled

public static void setEnabled(boolean b)

タッチパネルデバイスの有効/無効状態を設定します。 デフォルトではタッチパネルデバイスは無効になっています。

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

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

端末のネイティブのタッチパネルデバイス使用可否設定は isAvailable() メソッドで取得することができます。

パラメータ:
b - タッチパネルデバイスを有効にする場合は true を、 無効にする場合は false を指定します。
例外:
com.docomostar.lang.UnsupportedOperationException -
タッチパネル機能をサポートしていない場合に発生します。


NTT DOCOMO,INC.

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

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

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

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

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。