|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
java.lang.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 | - |
+-------+-------+---------------+---------------+-------+-------+
| フィールドの概要 | |
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 |
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)。 |
| メソッドの概要 | |
int |
getAscent()
フォントのアセント(ベースラインから上端までの長さ)を取得します。 |
int |
getBBoxHeight(java.lang.String str)
指定した文字列のバウンディングボックスの高さを取得します。 |
int |
getBBoxWidth(java.lang.String str)
指定した文字列のバウンディングボックスの幅を取得します。 |
static Font |
getDefaultFont()
実装定義のデフォルトのフォントを取得します。 |
int |
getDescent()
フォントのディセント(ベースラインから下端までの長さ)を取得します。 |
static Font |
getFont(int type)
引数で指定されたフォントオブジェクトを取得します。 |
int |
getHeight()
フォントの高さを取得します。 |
int |
getLineBreak(java.lang.String str,
int off,
int len,
int width)
指定した文字列の改行位置を取得します。 |
int |
stringWidth(java.lang.String str)
指定した文字列の幅を取得します。 |
| クラス java.lang.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 Font getFont(int type)
f = getFont(FACE_SYSTEM|STYLE_BOLD|SIZE_MEDIUM);と指定します。必ず、ビット毎の論理和を使用してください。なお、 フォントのフェイス、スタイル、 サイズを指定する場合は、TYPE_DEFAULT,TYPE_HEADING を 同時に指定しても、そ の指定は無視されます。いずれの指定方法の場合でも、 指定されたフォントが端末にない場合は、代替のフォントオブジェクトを返します。 システムによってはフォントオブジェクトは静的に生成されており、 同じフォントタイプを指定し た場合は同一のオブジェクトが返されることもあります。
type - フォントタイプを指定します。public static Font getDefaultFont()
public int getAscent()
public int getDescent()
public int getHeight()
public int stringWidth(java.lang.String str)
str - 文字列を指定します。public int getBBoxWidth(java.lang.String str)
str - 文字列を指定します。public int getBBoxHeight(java.lang.String str)
str - 文字列を指定します。
public int getLineBreak(java.lang.String str,
int off,
int len,
int width)
String s ="プログラミング";
int idx =font.getLineBreak(s,0,s.length,50);
で、"プログラ" の幅が48 ピクセルで、"プログラミ" の幅が60 ピクセルの場合、 idx の値は、
4 になります。この位置は、次の行の先頭になる文字の位置です。
以下に使用例を示します。このメソッドは、指定した座標(x,y)から、width の幅で 折り返しなが
ら、文字列を表示するものです。
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 fontHeight = f.getHeight();
int startIdx = 0;
int endIdx = 0;
while (len > 0) {
endIdx = f.getLineBreak(str, startIdx, len, width);
g.drawChars(data, x, y, startIdx, endIdx-startIdx);
y = y + fontHeight;
len = len - (endIdx-startIdx);
startIdx = endIdx;
}
} str - 文字列を指定します。off - 計算する文字列のオフセットを指定します。len - 計算する文字列の長さを指定します。width - 行の幅をピクセル単位で指定します。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「i-mode/アイモード」はNTTドコモの登録商標、「iアプリ/iαppli/アイアプリ」はNTTドコモの商標です。