com.nttdocomo.ui
クラス Canvas

Object
  拡張com.nttdocomo.ui.Frame
      拡張com.nttdocomo.ui.Canvas

public abstract class Canvas
extends Frame

低レベルAPIのための表示面を定義します。 キャンバス クラスは、 低レベル API で使用するフレームクラスです。 キャンバスは、スクロール機能を持ちません。

関連項目:
Panel, Dialog

フィールドの概要
static int IME_CANCELED
           IMEイベントの通知において、入力がキャンセルされたことを表します(=1)。
static int IME_COMMITTED
           IMEイベントの通知において、入力が確定したことを表します(=0)。
 
クラス com.nttdocomo.ui.Frame から継承したフィールド
SOFT_KEY_1, SOFT_KEY_2
 
コンストラクタの概要
Canvas()
          キャンバスオブジェクトを生成します。
 
メソッドの概要
 Graphics getGraphics()
          キャンバスに描画するためのグラフィクスオブジェクトを取得します。
 int getKeypadState()
          キーパッド状態を返すメソッドです。
 int getKeypadState(int group) [iアプリオプションAPI]
           キーのグループを指定してキーパッド状態を取得します。
 void imeOn(String text, int displayMode, int inputMode)
           キャンバスにおいてIMEを起動します。
 void imeOn(String text, int displayMode, int inputMode, int inputSize) [iアプリオプションAPI]
          キャンバスにおいて、入力可能な文字数を制限して IME を起動します。
abstract  void paint(Graphics g)
          キャンバスに表示するために使用するメソッドです。
 void processEvent(int type, int param)
          低レベルイベントが通知されたときに呼ばれるメソッドです。
 void processIMEEvent(int type, String text)
           IMEイベントが通知されたときに呼ばれるメソッドです。
 void repaint()
          キャンバス全体を再描画することを指示します。
 void repaint(int x, int y, int width, int height)
           キャンバスの一部の矩形領域を再描画することを指示します。
 
クラス com.nttdocomo.ui.Frame から継承したメソッド
getHeight, getWidth, setBackground, setSoftLabel, setSoftLabelVisible
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

IME_COMMITTED

public static final int IME_COMMITTED
IMEイベントの通知において、入力が確定したことを表します(=0)。
processIMEEvent メソッドのtype引数として使用されます。

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

IME_CANCELED

public static final int IME_CANCELED
IMEイベントの通知において、入力がキャンセルされたことを表します(=1)。
processIMEEvent メソッドのtype引数として使用されます。

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

Canvas

public Canvas()
キャンバスオブジェクトを生成します。

メソッドの詳細

getGraphics

public Graphics getGraphics()
キャンバスに描画するためのグラフィクスオブジェクトを取得します。 取得されたグラフィックスオブジェクトは初期状態になっています。
[DoJa-1.0 のみ]
getGraphicsメソッドを呼び出すたびに新しいオブジェクトを生成するのか、予め 確保したオブジェクトを再使用するのかは機種依存です。
[DoJa-2.0 以降]
getGraphicsメソッドを呼び出すたびに新しいオブジェクトを生成して返します。

戻り値:
キャンバスに描画するためのグラフィクスオブジェクトを返します。

paint

public abstract void paint(Graphics g)
キャンバスに表示するために使用するメソッドです。 このメソッドは、キャンバスが表示されるタイミングで呼び出されます。
[DoJa-1.0 のみ]
引数で渡される Graphics オブジェクトは、getGraphics メソッドで獲得した グラフィックスが渡されます。
[DoJa-2.0 以降]
引数で渡される Graphics オブジェクトは、 paint メソッドの呼び出し元が用意して初期化と必要な設定を行ったグラフィックスが渡されます。

引数で渡されたグラフィックスオブジェクトは、アプリケーションプログラマが Graphics.dispose メソッドで破棄してはなりません。 paint メソッドの呼出し元が、機種依存の処理をしたあとで dispose メソッドを呼び出して破棄します。 アプリケーションプログラマが disposeメソッドを呼び出した場合の振舞は、機種依存です。

パラメータ:
g - 描画に使用する Graphics オブジェクトが渡されます。

repaint

public void repaint()
キャンバス全体を再描画することを指示します。


repaint

public void repaint(int x,
                    int y,
                    int width,
                    int height)

キャンバスの一部の矩形領域を再描画することを指示します。 再描画対象となる領域は、(x, y)-(x + width, y + height) で構成される矩形の内部領域(幅 width、高さ height)です。

このメソッドで指定する座標の考え方については Graphics クラスの説明を参照して下さい。

パラメータ:
x - 矩形の左上のX座標を指定します。
y - 矩形の左上のY座標を指定します。
width - 矩形の幅を指定します。
height - 矩形の高さを指定します。
例外:
IllegalArgumentException - 引数 width, height のどちらかまたは両方に 0 未満の値が指定された場合に発生します。

processEvent

public void processEvent(int type,
                         int param)
低レベルイベントが通知されたときに呼ばれるメソッドです。

パラメータ:
type - イベントのタイプが渡されます。
param - イベントのパラメータが渡されます。 パラメータの意味はイベントによって異なります。 パラメータを持たないイベントの場合は、0が渡されます。

getKeypadState

public int getKeypadState()
キーパッド状態を返すメソッドです。

戻り値の各ビットの位置がDisplayクラスで定義されているキーに対応します。 ビットとキーの対応は、1<<(Displayクラスで定義されているキーの値) となり、 MSBが31で、LSBが0に対応します。たとえば、KEY_0 に対応するビットは、ビット0で、 KEY_1に対応するビットは、ビット1です。

  b31                           b2  b1  b0
 +---+---+-------------||------+---+---+---+
 |   |   |                     |   |   |   |
 +---+---+-------------||------+---+---+---+
 

押された状態になっているキーに対応するビットは1に、 押されていない状態になっているキーに対応するビットは、0になっています。

アプリケーションプログラマは、タイマドリブンの処理中で、このメソッドを呼ぶか、 Display.KEY_PRESSED_EVENT, Display.KEY_RELEASED_EVENTのイベントが発生したときに、このメソッドを 呼ぶかして、複数のキーの状態を取得します。

キャンバスが表示されている、いないに関わらず、このメソッドを呼び出した場合、 現在のキーパッドの状態が戻り値として返されます。

[DoJa-3.0 (505iS) 以降]
このメソッドは、getKeypadState(0) を呼び出した場合と同じ結果を返します。

戻り値:
キーパッド状態を返します。

getKeypadState

public int getKeypadState(int group) [iアプリオプションAPI]

キーのグループを指定してキーパッド状態を取得します。 Display クラスで定義されるキーについて、 それぞれ (キーの値 >> 5) がグループとなります。 このメソッドでは、引数で指定されたグループに含まれるキー(最大 32 個)の状態を取得します。

戻り値の各ビットの位置がDisplayクラスで定義されているキーに対応します。 ビットとキーの対応は、(1 << (キーの値 - グループ * 32)) となり、 MSBが (31 + グループ * 32) で、LSBが (0 + グループ * 32) に対応します。
例えば、グループ 0 を指定した場合、 KEY_0 に対応するビットは b0、KEY_1 に対応するビットは b1、KEY_SELECT に対応するビットは b20 になります。 また、グループ 1 を指定した場合、 KEY_CLEAR に対応するビットは b0、KEY_MAIL に対応するビットは b1、KEY_SUB1 に対応するビットは b18 になります。

  b31                           b2  b1  b0
 +---+---+-------------||------+---+---+---+
 |   |   |                     |   |   |   |
 +---+---+-------------||------+---+---+---+
 

押された状態になっているキーに対応するビットは1に、 押されていない状態になっているキーに対応するビットは0になっています。

アプリケーションプログラマは、タイマドリブンの処理中でこのメソッドを呼ぶか、 Display.KEY_PRESSED_EVENT, Display.KEY_RELEASED_EVENTのイベントが発生したときにこのメソッドを呼ぶかして、 複数のキーの状態を取得します。
なお、グループ 0 以外のキーについては PhoneSystem.DEV_KEYPAD 属性を設定しないと Display.KEY_PRESSED_EVENT, Display.KEY_RELEASED_EVENTのイベントも発生しませんし、 このメソッドによるキーパッド状態の取得も行うことができません。

キャンバスが表示されている、いないに関わらず、このメソッドを呼び出した場合、 現在のキーパッドの状態が戻り値として返されます。

パラメータ:
group - キーパッド状態を取得するキーのグループを指定します。
戻り値:
キーパッド状態を返します。
例外:
IllegalArgumentException - 引数 group に 0 未満の値が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0 (505iS)
関連項目:
PhoneSystem.DEV_KEYPAD

imeOn

public void imeOn(String text,
                  int displayMode,
                  int inputMode)

キャンバスにおいてIMEを起動します。

このメソッドはブロックしないメソッドです。 IMEでの入力が完了するまで待つことはありません。 IMEでの入力が完了すると(キャンセルも含みます)、 processIMEEvent メソッドが呼ばれます。

このキャンバスがカレントフレームでない場合には、 このメソッドの呼び出しは無視され、 例外も発生しません。 ダイアログが表示されている場合も同様です。

パラメータ:
text - IMEに渡す初期文字列を指定します。 nullの場合、空文字列("")として扱われます。
displayMode - 文字列の表示モードを指定します。 TextBoxクラスのDISPLAY_ANY またはDISPLAY_PASSWORD を指定します。
inputMode - 初期入力モードを指定します。 TextBoxクラスのNUMBERALPHAKANAのいずれかを指定します。
例外:
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
IllegalArgumentException - 引数 displayMode、inputMode に不正な値が指定された場合に発生します。
UIException - 既にIMEが起動されている場合に発生します(BUSY_RESOURCE)。
導入されたバージョン:
DoJa-3.0 (505i)
関連項目:
TextBox

imeOn

public void imeOn(String text,
                  int displayMode,
                  int inputMode,
                  int inputSize) [iアプリオプションAPI]
キャンバスにおいて、入力可能な文字数を制限して IME を起動します。

このメソッドの振る舞いは、 IME に対してユーザが入力可能な文字数を制限できること以外は、 imeOn(String, int, int) の振る舞いと同じです。

入力文字数の制限値には半角文字数に換算した値を指定します。 実装がサポートしている最大文字数より大きい値を指定した場合、 最大文字数が指定されたことになります。

端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

パラメータ:
text - IMEに渡す初期文字列を指定します。 nullの場合、空文字列("")として扱われます。
displayMode - 文字列の表示モードを指定します。 TextBoxクラスのDISPLAY_ANY またはDISPLAY_PASSWORD を指定します。
inputMode - 初期入力モードを指定します。 TextBoxクラスのNUMBERALPHAKANAのいずれかを指定します。
inputSize - 入力文字数の制限値を指定します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
IllegalArgumentException - 引数 displayMode、inputMode に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 inputSize に 0 以下の値が指定された場合に発生します。
IllegalArgumentException - 引数 inputSize に指定された値が、 引数 text に指定/DT>
DoJa-3.0 (505i)
髢「騾」鬆