|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Objectcom.docomostar.ui.Font
文字の種別を定義します。 フォントクラスは、 フォントならびにフォントのメトリクスを扱います。 getFontの引数 type は、以下のようなフォーマットになっています。
上位4ビットは、0111 、その次の4ビットがface, そのつぎの8ビットがstyle、 下位16ビットは、無視されます。
|<- 4 ->|<- 4 ->|<----- 8 ----->|<----- 8 ----->|<----- 8 ----->| +-------+-------+-------+-------+-------+-------+-------+-------+ | 0111 | face | style | - | - | +-------+-------+---------------+---------------+-------+-------+
初期状態のデフォルトフォントは、
FACE_SYSTEM|STYLE_PLAIN、フォントサイズは 24 ドット です。
getFont(int,int) で指定されたフェース、
スタイルがサポートされていない場合には、未サポートの要素を
FACE_SYSTEM、STYLE_PLAIN
に置き換えたフォントを取得します。
getDefaultFont() メソッドが返す値は、
setDefaultFont(Font)メソッドにより設定した値です。
設定していない場合、初期状態のデフォルトフォントを返します。
| フィールドの概要 | |
static int |
FACE_MONOSPACE [iアプリオプションAPI]
フォントのフェースで、モノスペースフォントを表します(=0x72000000)。 |
static int |
FACE_PROPORTIONAL [iアプリオプションAPI]
フォントのフェースで、プロポーショナルフォントを表します(=0x73000000)。 |
static int |
FACE_SYSTEM
フォントのフェースで、システムフォントを表します(=0x71000000)。 |
static int |
STYLE_BOLD [iアプリオプションAPI]
フォントのスタイルで、ボールドスタイルを表します(=0x70110000)。 |
static int |
STYLE_BOLDITALIC [iアプリオプションAPI]
フォントのスタイルで、ボールドイタリックスタイルを表します(=0x70130000)。 |
static int |
STYLE_ITALIC [iアプリオプションAPI]
フォントのスタイルで、イタリックスタイルを表します(=0x70120000)。 |
static int |
STYLE_PLAIN
フォントのスタイルで、プレーンスタイルを表します(=0x70100000)。 |
| コンストラクタの概要 | |
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 fontSize)
引数で指定されたフォントタイプと、dot 単位で指定したフォントサイズからフォントオブジェクトを取得します。 |
int |
getHeight()
フォントの高さを取得します。 |
int |
getLineBreak(String str,
int off,
int len,
int width)
指定した文字列の改行位置を取得します。 |
int |
getLineBreak(XString xStr,
int off,
int len,
int width)
指定したXStringの文字列の改行位置を取得します。 |
static int[] |
getSupportedFontSizes()
この端末でサポートしている dot 単位で指定可能なフォントサイズの配列を取得します。 |
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 FACE_SYSTEM
public static final int FACE_MONOSPACE [iアプリオプションAPI]
public static final int FACE_PROPORTIONAL [iアプリオプションAPI]
public static final int STYLE_PLAIN
public static final int STYLE_BOLD [iアプリオプションAPI]
public static final int STYLE_ITALIC [iアプリオプションAPI]
public static final int STYLE_BOLDITALIC [iアプリオプションAPI]
| コンストラクタの詳細 |
protected Font()
| メソッドの詳細 |
public static Font getFont(int type,
int fontSize)
引数 type に、フェイス、スタイルを表す定数をビット毎の論理和を取って指定します。 具体例を以下に示します。
システムフォントかつボールドスタイルかつ 32 ドットのフォントを取得する場合、
f = getFont(FACE_SYSTEM|STYLE_BOLD,32);と指定します。
引数 fontSize には、この端末にてサポートされているフォントサイズ(フォントの高さ、単位は dot)を指定します。
サポートされているフォントサイズは getSupportedFontSizes() にて取得可能です。
引数 type で指定したフェイス、スタイルを端末でサポートしていない場合は、 代替のフェイス、スタイルに置換し、フォントオブジェクトを返します。 ただし、引数 fontSize にサポートされていないフォントサイズを設定した場合は例外が発生します。
システムによってはフォントオブジェクトは静的に生成されており、 同じフォントを指定した場合は同一のオブジェクトが返されることもあります。
type - フォントタイプを指定します。fontSize - フォントサイズを指定します。フォントサイズにはフォントの高さ(単位は dot)を指定します。
IllegalArgumentException -
IllegalArgumentException -
public static int[] getSupportedFontSizes()
サポートしているフォントサイズを昇順に並べた配列を取得することができます。 取得できるフォントサイズはフォントの高さ(単位は dot)です。
取得できるフォントサイズの配列は、端末でサポートする全てのフォントサイズ (サポートが必須となっているフォントサイズを含む) の配列です。
現モデルでは、このメソッドの戻り値として null を返すことはありませんが、将来のモデルでは null を返す可能性があります。
public static Font getDefaultFont()
setDefaultFont(Font)で設定したフォントオブジェクトを返します。
初期状態では FACE_SYSTEM|STYLE_PLAIN、フォントサイズ 24 ドットのフォントを取得します。
public static void setDefaultFont(Font f)
getDefaultFont()メソッドは、
このメソッドで設定したフォントオブジェクトを返します。
f - デフォルトフォントに設定するフォントオブジェクトを指定します。
NullPointerException -
public int getAscent()
public int getDescent()
public int getHeight()
public int stringWidth(String str)
str - 文字列を指定します。
NullPointerException -
public int getBBoxWidth(String str)
str - 文字列を指定します。
NullPointerException -
public int getBBoxHeight(String str)
引数 str に 空文字列("")が指定された場合、0 が返ります。
str - 文字列を指定します。
NullPointerException -
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 -
StringIndexOutOfBoundsException -
IllegalArgumentException -
public int getBBoxHeight(XString xStr)
xStr - XStringの文字列を指定します。
NullPointerException -
public int getBBoxWidth(XString xStr)
xStr - XStringの文字列を指定します。
NullPointerException -
public int getBBoxWidth(XString xStr,
int off,
int len)
xStr - XStringの文字列を指定します。off - 計算する文字列のオフセットを指定します。len - 計算する文字列の長さを指定します。
NullPointerException -
StringIndexOutOfBoundsException -
public int stringWidth(XString xStr)
xStr - XStringの文字列を指定します。
NullPointerException -
public int stringWidth(XString xStr,
int off,
int len)
xStr - XStringの文字列を指定します。off - 計算する文字列のオフセットを指定します。len - 計算する文字列の長さを指定します。
NullPointerException -
StringIndexOutOfBoundsException -
public int getLineBreak(XString xStr,
int off,
int len,
int width)
xStr - XStringの文字列を指定します。off - 計算する文字列のオフセットを指定します。len - 計算する文字列の長さを指定します。width - 行の幅をピクセル単位で指定します。
NullPointerException -
StringIndexOutOfBoundsException -
IllegalArgumentException -
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。