|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Object | +--com.nttdocomo.ui.Font
文字の種別を定義します。 フォントクラスは、 フォントならびにフォントのメトリクスを扱います。 getFontの引数は、以下のようなフォーマットになっています。
タイプを指定する場合は、下位8ビットがタイプを意味します。また、 それ以外のビットはすべて0になっています。
|<- 4 ->|<- 4 ->|<----- 8 ----->|<----- 8 ----->|<----- 8 ----->| +-------+-------+-------+-------+-------+-------+-------+-------+ | 0 | 0 | 0 | 0 | type | +-------+-------+---------------+---------------+-------+-------+
フェース、サイズ、スタイルを指定する場合は、上位4ビットは、0111 に なっています。その次の4ビットがface, そのつぎの8ビットがstyle、 そのつぎの8ビットがsizeを表します。下位8ビットは、無視されます。
|<- 4 ->|<- 4 ->|<----- 8 ----->|<----- 8 ----->|<----- 8 ----->| +-------+-------+-------+-------+-------+-------+-------+-------+ | 0111 | face | style | size | - | +-------+-------+---------------+---------------+-------+-------+
getDefaultFont()
メソッドが返す値は、
setDefaultFont(Font)
メソッドにより設定した値です。
設定していない場合、初期状態のデフォルトフォントを返します。
フィールドの概要 | |
static int |
FACE_MONOSPACE
フォントのフェースで、モノスペースフォントを表します(=0x72000000)。 |
static int |
FACE_PROPORTIONAL
フォントのフェースで、プロポーショナルフォントを表します(=0x73000000)。 |
static int |
FACE_SYSTEM
フォントのフェースで、システムフォントを表します(=0x71000000)。 |
static int |
SIZE_LARGE
フォントのサイズで、ラージサイズを表します(=0x70000300)。 |
static int |
SIZE_MEDIUM
フォントのサイズで、ミディアムサイズを表します(=0x70000200)。 |
static int |
SIZE_SMALL
フォントのサイズで、スモールサイズを表します(=0x70000100)。 |
static int |
SIZE_TINY
フォントのサイズで、タイニーサイズを表します(=0x70000400)。 |
static int |
STYLE_BOLD
フォントのスタイルで、ボールドスタイルを表します(=0x70110000)。 |
static int |
STYLE_BOLDITALIC
フォントのスタイルで、ボールドイタリックスタイルを表します(=0x70130000)。 |
static int |
STYLE_ITALIC
フォントのスタイルで、イタリックスタイルを表します(=0x70120000)。 |
static int |
STYLE_PLAIN
フォントのスタイルで、プレーンスタイルを表します(=0x70100000)。 |
static int |
TYPE_DEFAULT
デフォルトフォントを表すフォントタイプです(=0x00000000)。 |
static int |
TYPE_HEADING
見出し用フォントを表すフォントタイプです(=0x00000001)。 |
コンストラクタの概要 | |
protected |
Font()
アプリケーションが直接このクラスのインスタンスを生成することはできません。 |
メソッドの概要 | |
int |
getAscent()
フォントのアセント(ベースラインから上端までの長さ)を取得します。 |
int |
getBBoxHeight(String str)
指定した文字列のバウンディングボックスの高さを取得します。 |
int |
getBBoxHeight(XString xStr)
指定したXStringの文字列のバウンディングボックスの高さを取得します。 |
int |
getBBoxWidth(String str)
指定した文字列のバウンディングボックスの幅を取得します。 |
int |
getBBoxWidth(XString xStr)
指定したXStringの文字列のバウンディングボックスの幅を取得します。 |
int |
getBBoxWidth(XString xStr,
int off,
int len)
指定したXStringの文字列の一部のバウンディングボックスの幅を取得します。 |
static Font |
getDefaultFont()
デフォルトのフォントを取得します。 |
int |
getDescent()
フォントのディセント(ベースラインから下端までの長さ)を取得します。 |
static Font |
getFont(int type)
引数で指定されたフォントオブジェクトを取得します。 |
int |
getHeight()
フォントの高さを取得します。 |
int |
getLineBreak(String str,
int off,
int len,
int width)
指定した文字列の改行位置を取得します。 |
int |
getLineBreak(XString xStr,
int off,
int len,
int width)
指定したXStringの文字列の改行位置を取得します。 |
static void |
setDefaultFont(Font f)
デフォルトフォントを設定します。 |
int |
stringWidth(String str)
指定した文字列の幅を取得します。 |
int |
stringWidth(XString xStr)
指定したXStringの文字列の幅を取得します。 |
int |
stringWidth(XString xStr,
int off,
int len)
指定したXStringの文字列の一部の幅を取得します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int TYPE_DEFAULT
public static final int TYPE_HEADING
public static final int FACE_SYSTEM
public static final int FACE_MONOSPACE
public static final int FACE_PROPORTIONAL
public static final int STYLE_PLAIN
public static final int STYLE_BOLD
public static final int STYLE_ITALIC
public static final int STYLE_BOLDITALIC
public static final int SIZE_SMALL
public static final int SIZE_MEDIUM
public static final int SIZE_LARGE
public static final int SIZE_TINY
コンストラクタの詳細 |
protected Font()
メソッドの詳細 |
public static Font getFont(int type)
f = getFont(FACE_SYSTEM|STYLE_BOLD|SIZE_MEDIUM);と指定します。必ず、ビット毎の論理和を使用してください。なお、 フォントのフェイス、スタイル、サイズを指定する場合は、TYPE_DEFAULT,TYPE_HEADINGを 同時に指定しても、その指定は無視されます。
いずれの指定方法の場合でも、 指定されたフォントが端末にない場合は、代替のフォントオブジェクトを返します。
システムによってはフォントオブジェクトは静的に生成されており、 同じフォントタイプを指定した場合は同一のオブジェクトが返されることもあります。
type
- フォントタイプを指定します。
IllegalArgumentException
- 引数 type に不正な値が指定された場合に発生します。
public static Font getDefaultFont()
[DoJa-1.0]
機種依存のデフォルトのフォントを取得します。
[DoJa-2.0]
FACE_SYSTEM|SIZE_MEDIUM|STYLE_PLAINのフォントを取得します。
[DoJa-3.0]
setDefaultFont(Font)
で設定したフォントオブジェクトを返します。
初期状態ではFACE_SYSTEM|SIZE_TINY|STYLE_PLAINのフォントを取得します。
public static void setDefaultFont(Font f)
getDefaultFont()
メソッドは、
このメソッドで設定したフォントオブジェクトを返します。
f
- デフォルトフォントに設定するフォントオブジェクトを指定します。
NullPointerException
- 引数 f が null の場合に発生します。
public int getAscent()
public int getDescent()
public int getHeight()
public int stringWidth(String str)
str
- 文字列を指定します。
NullPointerException
- 引数 str に null が指定された場合に発生します。
public int getBBoxWidth(String str)
str
- 文字列を指定します。
NullPointerException
- 引数 str に null が指定された場合に発生します。
public int getBBoxHeight(String str)
str
- 文字列を指定します。
NullPointerException
- 引数 str に null が指定された場合に発生します。
public int getLineBreak(String str, int off, int len, int width)
で、"プログラ" の幅が48ピクセルで、"プログラミ" の幅が60ピクセルの場合、 idxの値は、4になります。この位置は、次の行の先頭になる文字の位置です。String s = "プログラミング"; int idx = font.getLineBreak(s, 0, s.length, 50);
以下に使用例を示します。 このメソッドは、指定した座標(x,y)から、widthの幅で 折り返しながら文字列を表示するものです。 ただし、引数のy座標はベースラインのy座標です。
public void drawText(Graphics g, Font f, String str, int x, int y, int width) { int len = str.length(); char data[] = new char[len]; str.getChars(0, len, data, 0); int startIdx = 0; int endIdx = 0; int h = f.getHeight(); while (len > 0) { endIdx = f.getLineBreak(str, startIdx, len, width); g.drawChars(data, x, y, startIdx, endIdx - startIdx); len -= (endIdx - startIdx); startIdx = endIdx; y += h; } }
str
- 文字列を指定します。off
- 計算する文字列のオフセットを指定します。len
- 計算する文字列の長さを指定します。width
- 行の幅をピクセル単位で指定します。
NullPointerException
- 引数 str に null が指定された場合に発生します。
StringIndexOutOfBoundsException
- 引数 off に負の値が指定された場合、引数 len に負の値が指定された場合、引数 off または引数 off + len の値が str の長さを超える場合に発生します。
IllegalArgumentException
- 引数 width に負の値が指定された場合に発生します。
public int getBBoxHeight(XString xStr)
xStr
- XStringの文字列を指定します。
NullPointerException
- 引数 xStr に null が指定された場合に発生します。
public int getBBoxWidth(XString xStr)
xStr
- XStringの文字列を指定します。
NullPointerException
- 引数 xStr に null が指定された場合に発生します。
public int getBBoxWidth(XString xStr, int off, int len)
xStr
- XStringの文字列を指定します。off
- 計算する文字列のオフセットを指定します。len
- 計算する文字列の長さを指定します。
NullPointerException
- 引数 xStr に null が指定された場合に発生します。
StringIndexOutOfBoundsException
- 引数 off に負の値が指定された場合、
引数 len に負の値が指定された場合、
引数 off または引数 off + len の値が
文字列の長さを超える場合に発生します。
public int stringWidth(XString xStr)
xStr
- XStringの文字列を指定します。
NullPointerException
- 引数 xStr に null が指定された場合に発生します。
public int stringWidth(XString xStr, int off, int len)
xStr
- XStringの文字列を指定します。off
- 計算する文字列のオフセットを指定します。len
- 計算する文字列の長さを指定します。
NullPointerException
- 引数 xStr に null が指定された場合に発生します。
StringIndexOutOfBoundsException
- 引数 off に負の値が指定された場合、
引数 len に負の値が指定された場合、
引数 off または引数 off + len の値が
文字列の長さを超える場合に発生します。
public int getLineBreak(XString xStr, int off, int len, int width)
xStr
- XStringの文字列を指定します。off
- 計算する文字列のオフセットを指定します。len
- 計算する文字列の長さを指定します。width
- 行の幅をピクセル単位で指定します。
NullPointerException
- 引数 xStr に null が指定された場合に発生します。
StringIndexOutOfBoundsException
- 引数 off に負の値が指定された場合、
引数 len に負の値が指定された場合、
引数 off または引数 off + len の値が
xStr の長さを超える場合に発生します。
IllegalArgumentException
- 引数 width に負の値が指定された場合に発生します。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DoCoMo,Inc.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。