|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.font.NumericShaper
public final class NumericShaper
NumericShaper
類別用於將 Latin-1(歐洲語)數字轉換成其他 Unicode 十進制數字。此類別的使用者主要是那些希望使用民族數字形狀顯示資料,但又發現使用 Latin-1(歐洲語)數字內部表示該資料更方便的人。此類別不能解釋過時的數字形狀選擇器字元 (U+206E)。
NumericShaper
的實例通常用作具有 TextAttribute
類別的 NUMERIC_SHAPING
屬性的文本屬性。例如,以下程式碼片段可使 TextLayout
將歐洲數字轉換成阿拉伯語上下文中的阿拉伯數字:
Map map = new HashMap(); map.put(TextAttribute.NUMERIC_SHAPING, NumericShaper.getContextualShaper(NumericShaper.ARABIC)); FontRenderContext frc = ...; TextLayout layout = new TextLayout(text, map, frc); layout.draw(g2d, x, y);
NumericShaper
的實例顯式執行數字成形,如以下程式碼片斷所演示的:char[] text = ...; // shape all EUROPEAN digits (except zero) to ARABIC digits NumericShaper shaper = NumericShaper.getShaper(NumericShaper.ARABIC); shaper.shape(text, start, count); // shape European digits to ARABIC digits if preceding text is Arabic, or // shape European digits to TAMIL digits if preceding text is Tamil, or // leave European digits alone if there is no preceding text, or // preceding text is neither Arabic nor Tamil NumericShaper shaper = NumericShaper.getContextualShaper(NumericShaper.ARABIC | NumericShaper.TAMIL, NumericShaper.EUROPEAN); shaper.shape(text. start, count);
欄位摘要 | |
---|---|
static int |
ALL_RANGES
標識所有的範圍,用於完整的上下文成形。 |
static int |
ARABIC
標識 ARABIC 範圍和十進制進制。 |
static int |
BENGALI
標識 BENGALI 範圍和十進制進制。 |
static int |
DEVANAGARI
標識 DEVANAGARI 範圍和十進制進制。 |
static int |
EASTERN_ARABIC
標識 ARABIC 範圍和 ARABIC_EXTENDED 十進制進制。 |
static int |
ETHIOPIC
標識 ETHIOPIC 範圍和十進制進制。 |
static int |
EUROPEAN
標識 Latin-1(歐洲語)和擴展範圍,以及 Latin-1(歐洲語)十進制進制。 |
static int |
GUJARATI
標識 GUJARATI 範圍和十進制進制。 |
static int |
GURMUKHI
標識 GURMUKHI 範圍和十進制進制。 |
static int |
KANNADA
標識 KANNADA 範圍和十進制進制。 |
static int |
KHMER
標識 KHMER 範圍和十進制進制。 |
static int |
LAO
標識 LAO 範圍和十進制進制。 |
static int |
MALAYALAM
標識 MALAYALAM 範圍和十進制進制。 |
static int |
MONGOLIAN
標識 MONGOLIAN 範圍和十進制進制。 |
static int |
MYANMAR
標識 MYANMAR 範圍和十進制進制。 |
static int |
ORIYA
標識 ORIYA 範圍和十進制進制。 |
static int |
TAMIL
標識 TAMIL 範圍和十進制進制。 |
static int |
TELUGU
標識 TELUGU 範圍和十進制進制。 |
static int |
THAI
標識 THAI 範圍和十進制進制。 |
static int |
TIBETAN
標識 TIBETAN 範圍和十進制進制。 |
方法摘要 | |
---|---|
boolean |
equals(Object o)
如果指定的物件是 NumericShaper 的一個實例,並且完全一致地成形到此實例,則返回 true。 |
static NumericShaper |
getContextualShaper(int ranges)
返回提供的 unicode 範圍的上下文成形器。 |
static NumericShaper |
getContextualShaper(int ranges,
int defaultContext)
返回提供的 unicode 範圍的上下文成形器。 |
int |
getRanges()
返回一個 int ,它使用或操作 (OR) 連接所有將成形的範圍的值。 |
static NumericShaper |
getShaper(int singleRange)
返回所提供的 unicode 範圍的成形器。 |
int |
hashCode()
返回此成形器的雜湊碼。 |
boolean |
isContextual()
返回一個 boolean 值,指示此成形器是否以上下文方式成形。 |
void |
shape(char[] text,
int start,
int count)
轉換文本中在 start 和 start + count 之間出現的數字。 |
void |
shape(char[] text,
int start,
int count,
int context)
使用提供的上下文,轉換文本中在 start 和 start + count 之間出現的數字。 |
String |
toString()
返回描述此成形器的 String 。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int EUROPEAN
public static final int ARABIC
public static final int EASTERN_ARABIC
public static final int DEVANAGARI
public static final int BENGALI
public static final int GURMUKHI
public static final int GUJARATI
public static final int ORIYA
public static final int TAMIL
public static final int TELUGU
public static final int KANNADA
public static final int MALAYALAM
public static final int THAI
public static final int LAO
public static final int TIBETAN
public static final int MYANMAR
public static final int ETHIOPIC
public static final int KHMER
public static final int MONGOLIAN
public static final int ALL_RANGES
方法詳細資訊 |
---|
public static NumericShaper getShaper(int singleRange)
singleRange
- 指定的 Unicode 範圍
IllegalArgumentException
- 如果範圍不是單個範圍public static NumericShaper getContextualShaper(int ranges)
NumericShaper.ARABIC | NumericShaper.THAI
)來表示多個範圍。該成形器假定 EUROPEAN 為初始上下文,即如果在字元串中在任何強方向文本之前碰到 EUROPEAN 數字,則該上下文將被假定為 EUROPEAN,因此將不成形數字。
ranges
- 指定的 Unicode 範圍
public static NumericShaper getContextualShaper(int ranges, int defaultContext)
NumericShaper.ARABIC | NumericShaper.THAI
)來表示多個範圍。該成形器將 defaultContext 用作初始上下文。
ranges
- 指定的 Unicode 範圍defaultContext
- 初始上下文,如 NumericShaper.EUROPEAN
IllegalArgumentException
- 如果指定的 defaultContext
不是一個有效範圍。public void shape(char[] text, int start, int count)
text
- 要轉換的字元陣列start
- 要開始轉換的 text
的索引count
- 要轉換的 text
中的字元數
IndexOutOfBoundsException
- 如果 start 或 start + count 超出範圍
NullPointerException
- 如果 text 為 nullpublic void shape(char[] text, int start, int count, int context)
text
- 字元陣列start
- 要開始轉換的 text
的索引count
- 要轉換的 text
中的字元數context
- 向其轉換字元(如 NumericShaper.EUROPEAN
)的上下文
IndexOutOfBoundsException
- 如果 start 或 start + count 超出範圍
NullPointerException
- 如果 text 為 null
IllegalArgumentException
- 如果這是一個上下文成形器,並且指定的 context
不是一個有效範圍。public boolean isContextual()
boolean
值,指示此成形器是否以上下文方式成形。
true
;否則返回 false
。public int getRanges()
int
,它使用或操作 (OR) 連接所有將成形的範圍的值。
例如,要檢查成形器是否成形阿拉伯數字,應使用以下語句:
if ((shaper.getRanges() & shaper.ARABIC) != 0) { ...
public int hashCode()
Object
中的 hashCode
Object.hashCode()
public boolean equals(Object o)
NumericShaper
的一個實例,並且完全一致地成形到此實例,則返回 true。
Object
中的 equals
o
- 要與此 NumericShaper
進行比較的指定物件
o
是 NumericShaper
的一個實例,並且以相同的方式成形,則返回 true
;否則返回 false
。Object.equals(java.lang.Object)
public String toString()
String
。該方法僅用於除錯目的。
Object
中的 toString
String
。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。