com.j_phone.system
クラス SubDisplay

java.lang.Object
  |
  +--com.j_phone.system.SubDisplay

public class SubDisplay
extends java.lang.Object

サブ画面を制御するためのクラスです。


概要

ユーザーが通常使用する実画面をメイン画面と呼ぶのに対して、 折り畳み式の携帯電話の背面液晶などをサブ画面と呼びます。このクラス では、サブ画面の制御において以下のような機能を実現します。

サブ画面は2Dおよび3Dの表示が可能です。メディアプレイヤーによる メディアの再生を表示可能とするかどうかは、ネイティブシステムの 実装依存です。

サブ画面上の表示サイズは、Java アプリケーションの状態ごとに以下の 2種類があります。

折り畳み式の携帯電話の場合、背面液晶は一般的には 折り畳んだ状態で表示しますが、携帯電話が開いた状態でも背面液晶の 表示を可能とするかどうかは、ネイティブシステムの実装依存です。

ネイティブシステムがサブ画面非対応時の動作

ネイティブシステムがサブ画面に非対応の場合 System.getProperty()メソッド に 下記のプロパティ名を引数として指定すると false が返却されます。

ネイティブシステムがサブ画面に非対応の場合でも getInstance() メソッドでインスタンスの取得は可能です。 その他のメソッドは 表1. のような動作になります。

表1. ネイティブシステムがサブ画面に非対応の場合の動作
メソッド名 ネイティブシステムがサブ画面に非対応の場合の動作
getWidth() 0 が返却されます
getHeight() 0 が返却されます
getFullWidth() 0 が返却されます
getFullHeight() 0 が返却されます
isColor() false が返却されます
numColors() 0 が返却されます
setViewPort(int x, int y) 例外 java.lang.RuntimeException が発生します
releaseViewPort() 呼び出しても例外は発生しませんが何もしません
setWallPaperImage(Image image)呼び出しても例外は発生しませんが何もしません

導入されたバージョン:
JSCL 1.2

メソッドの概要
 int getFullHeight()
          Javaアプリケーション一時停止時の表示領域の高さを取得します。
 int getFullWidth()
          Javaアプリケーション一時停止時の表示領域の幅を取得します。
 int getHeight()
          Javaアプリケーション通常動作時の表示領域の高さを取得します。
static SubDisplay getInstance()
          唯一のSubDisplay インスタンスを取得します。
 int getWidth()
          Javaアプリケーション通常動作時の表示領域の幅を取得します。
 boolean isColor()
          サブ画面がカラー表示または白黒表示のどちらかを取得します。
 int numColors()
          サブ画面の最大表示色数または最大表示階調数を取得します。
 void releaseViewPort()
          メイン画面に表示されているデータのサブ画面へのコピーおよび表示を停止します。
 void setViewPort(int x, int y)
          メイン画面に表示しているデータのサブ画面へのコピーおよび表示を開始します。
 void setWallPaperImage(javax.microedition.lcdui.Image image)
          Javaアプリケーション一時停止時にサブ画面へ表示する Image オブジェクトを設定します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getInstance

public static SubDisplay getInstance()
                              throws java.lang.RuntimeException
唯一のSubDisplay インスタンスを取得します。 SubDisplay の操作を行うには、このメソッドでインスタンスを取得してください。
戻り値:
SubDisplay のインスタンス
例外:
java.lang.RuntimeException - インスタンスが取得できなかった場合に発生する

getWidth

public int getWidth()
Javaアプリケーション通常動作時の表示領域の幅を取得します。 ネイティブシステムがサブ画面に非対応の場合は 0 が返却されます。
戻り値:
サブ画面上の表示領域の幅(単位はピクセル)

getHeight

public int getHeight()
Javaアプリケーション通常動作時の表示領域の高さを取得します。 ネイティブシステムがサブ画面に非対応の場合は 0 が返却されます。
戻り値:
サブ画面上の表示領域の高さ(単位はピクセル)

getFullWidth

public int getFullWidth()
Javaアプリケーション一時停止時の表示領域の幅を取得します。 ネイティブシステムがサブ画面に非対応の場合は 0 が返却されます。
戻り値:
サブ画面上の表示領域の幅(単位はピクセル)

getFullHeight

public int getFullHeight()
Javaアプリケーション一時停止時の表示領域の高さを取得します。 ネイティブシステムがサブ画面に非対応の場合は 0 が返却されます。
戻り値:
サブ画面上の表示領域の高さ(単位はピクセル)

isColor

public boolean isColor()
サブ画面がカラー表示または白黒表示のどちらかを取得します。 ネイティブシステムがサブ画面に非対応の場合は false が返却されます。
戻り値:
カラー表示ならtrue、白黒表示ならfalse

numColors

public int numColors()
サブ画面の最大表示色数または最大表示階調数を取得します。 ネイティブシステムがサブ画面に非対応の場合は 0 が返却されます。
戻り値:
サブ画面がカラー表示の場合は最大表示色数、白黒表示の場合は 最大表示階調数

setViewPort

public void setViewPort(int x,
                        int y)
                 throws java.lang.IllegalArgumentException,
                        java.lang.RuntimeException
メイン画面に表示しているデータのサブ画面へのコピーおよび表示を開始します。

このメソッドを呼び出すと、ネイティブシステムは指定された座標を左上原点とするメイン画面上の領域に表示されているデータをコピー元として、 サブ画面上の Java アプリケーション通常動作時の表示領域にコピーして、表示します。 この動作は、 releaseViewPort() が呼び出されるまで自動で繰り返し実行されます。実行間隔はネイティブシステムの実装依存です。

コピー元の領域のサイズは、サブ画面上の Java アプリケーションが使用する表示領域のサイズと同一サイズで、 getWidth() および getHeight()により取得可能です。

このメソッドを呼び出すたびに、ネイティブシステムは新しく指定された座標を左上原点とするメイン画面上の領域をコピー元として設定します。

パラメータ:
x - コピー元となるメイン画面上のX軸の座標
y - コピー元となるメイン画面上のY軸の座標
例外:
java.lang.IllegalArgumentException - 引数 xy およびJavaアプリケーションが使用する表示領域サイズの組み合わせが、メイン画面の領域を超えた場合に発生する
java.lang.RuntimeException - ネイティブシステム内部でエラーが発生した場合、またはネイティブシステムがサブ画面に非対応の場合発生する

releaseViewPort

public void releaseViewPort()
                     throws java.lang.RuntimeException
メイン画面に表示されているデータのサブ画面へのコピーおよび表示を停止します。 ネイティブシステムがサブ画面に非対応の場合は呼び出しても例外は発生しませんが何もしません。
例外:
java.lang.RuntimeException - ネイティブシステム内部でエラーが発生した場合に発生する

setWallPaperImage

public void setWallPaperImage(javax.microedition.lcdui.Image image)
                       throws java.lang.RuntimeException
Javaアプリケーション一時停止時にサブ画面へ表示する Image オブジェクトを設定します。

このメソッドで指定する Image オブジェクトを表示するサブ画面上の領域のサイズは、 getFullWidth() および getFullHeight() で取得できます。 指定する Image オブジェクトのサイズがサブ画面上の表示領域のサイズと同一でない場合に、表示がどのようになるかはネイティブシステムの実装依存となります。

MIDletセレクタから起動されたJavaアプリケーションの場合、 notifyPaused ()メソッドを呼び出すとJavaアプリケーションが一時停止してMIDletセレクタ 画面へ遷移します。 このとき Java VM は一時停止状態になりません。 した がって、MIDletセレクタから起動されたJavaアプリケーションがこのメソッド を呼び出した場合の動作は保証できません。

ネイティブシステムがサブ画面に非対応の場合は呼び出しても例外は発生しませんが何もしません。
パラメータ:
image - Imageオブジェクト。Imageオブジェクトを解除するときは、 null を指定する。
例外:
java.lang.RuntimeException - ネイティブシステム内部でエラーが発生した場合に発生する