1. FontStyleクラス
戻る=>page top
フォントファミリィ、フォントサイズ、イタリック、Bold、アンダーライン、上付き/下付き、
フォントの色などフォント属性を表すクラス。
テキストにフォント属性を設定するメソッド, テキストから属性を取り出すメソッド、
フォントメニューに属性を設定するメソッド、
フォントメニューから属性を取得するメソッドなどからなる。
=>
java.awt.font.TextAttribute,
テキスト属性をフォントメニューに反映
フィールド |
説明 |
fontFamily
|
public String fontFamily
フォントファミリ名。
|
bold
|
private int bold
Plainのとき0、Boldのとき1。
|
italic
|
private int italic
Regularのとき0、Italicのとき1。
|
fontSize
|
public int fontSize
フォントサイズ。
|
underLine
|
private int undetLine
アンダーラインオンのときTextAttribute.UNDERLINE_ON、オフのとき-1。
|
superScript
|
private int superScript
上付き/下付き。上付のときTextAttribute.SUPERSCRIPT_SUPER(1~7)、
下付きのときTextAttribute.SUPERSCRIPT_SUB(-1~-7)。 0は上付き/下付きなし。
|
fontColor
|
public Color fontColor
フォントの色
|
UNDEF_String
|
public static final String UNDEF_String="UNDEF”
文字列で表される属性が指定されていない場合はこの文字列を設定する。
|
UNDEF_int
|
public static final int UNDEF_int=-99
整数値で表される属性が指定されていない場合はこの値を設定する。
TextAttribute.UNDERLINE_OFFが-1、TextAttribute.SUPERSCRIPTが少なくとも-7~7まで使うので、
思い切り小さく-99をUNDEF_intにする。
|
メソッド |
説明 |
コンストラクタ
|
public FontStyle(String fontFamily, int bold, int italic, int fontSize,
int underLine, int superScript, Color fontColor)
コンストラクタの引数をフィールド変数に設定。
|
setFontFamily
|
public void setFontFamily(String fontFamily)
フィールド変数fontFamilyに引数の値を設定。
|
getFontFamily
|
public String getFontFamily()
フィールド変数fontFamilyを返す。
|
setBold
|
public void setBold(int bold)
フィールド変数boldに引数の値を設定。
|
getBold
|
public int getBold()
フィールド変数boldを返す。
|
setItalic
|
public void setItalic(int italic)
フィールド変数italicに引数の値を設定。
|
getItalic
|
public int getItalic()
フィールド変数italicを返す。
|
setFontSize
|
public void setFontSize(int fontSize)
フィールド変数fontSiseに引数の値を設定。
|
getFontSize
|
public int getFontSize()
フィールド変数fontSizeを返す。
|
setUnderLine
|
public void setUnderLine(int underLine)
フィールド変数underLineに引数の値を設定。
|
getUnderLine
|
public int getUnderLine()
フィールド変数underLineを返す。
|
setSuperScript
|
public void setSuperScript(int superScript)
フィールド変数superScriptに引数の値を設定。
|
getSuperScript
|
public int getSuperScript()
フィールド変数superScriptを返す。
|
setFontColor
|
public void setFontColor(Color fontColor)
フィールド変数fontColorに引数の値を設定。
|
getFontColor
|
public int getFontColor()
フィールド変数fontColorを返す。
|
setTo |
public AttributedCharacterIterator setTo(AttributedCharacterIterator iterator,
int selStart, int selEnd)
このFontStyleオブジェクトのフォント属性をiteratorの指定区間[selStart, selEnd]に設定する。
属性=>java.awt.font.TextAttributeの属性
∙ Font familyの設定
TextAttribute.FAMILYキーを使う。
∙ Bold, Italic, Font sizeの設定
Plain/Bold指定はTextAttribute.WEIGHTキーを使う。BoldのときはTextAttribute.WEIGHT_BOLDを値として設定。Italic指定は
TextAttribute.POSTUREキーを使う。属性値はTextAttribute.POSTURE_OBLIQUEを指定。
∙ Font sizeの設定
TextAttribute.SIZEキーを使う。
∙ UnderLineの設定
TextAttribute.UNDERLINEキーを使う。
AttributedStringUtil.addAttribute(TextAttribute.UNDERLINE, this.getUnderLine(),
selStart, selEnd)
∙ SuperScriptの設定
TextAttribute.SUPERSCRIPTキーを使う。
[selStart, selEnd]区間のTextAttribute.Font属性を削除した後に次のステップを実行。AttributedStringUtil.addAttribute(TextAttribute.SUPERSCRIPT,
setScript, selStart, selEnd)
∙ Font colorの設定
TextAttribute.FOREGROUNDキーを使う。
|
toString
|
public String toString()
このFontStyleオブジェクトの文字列表現を返す。
|
getDefaultFontStyle
(static)
|
public static FontStyle getDefaultFontStyle()
デフォールトのFontStyleを返す。
fontFamily="Dialog", fontSize=12, bold=0, italic=0, unserLine=-1,
superScript=0, fontColor=Color.black
|
getFontStyleFromMenu
(static)
|
public static FontStyle getFontStyleFromMenu()
Font menu(下図)の設定状態を読み取ってFontStyleオブジェクトを返す。
|
setFontStyleToMenu
(static) |
public static FontStyle setFontStyleToMenu(TextBox textBox)
TextBox内部をクリックしてキャレットの位置を変更した場合、キャレットの前のテキストの属性をメニューに反映させる。またテキストを選択した場合、そのテキストが共通属性を持てば、それをメニューに反映させる。
ここでメニューとは、ツールバーのFontボタンを押したときに現れるFont menuのことである。
メニューに反映させる操作は、例えばBold属性ならばメニューのBold設定ボタンを"selected"の状態でで表示することである。フォントの色属性ならばColor
Chooserのプレビューにその色を表示する。
getCommonFontStyleメソッドで、引数textのstart, end区間から共通属性を設定したFontStyleオブジェクトを作成する。作成したFontStyleオブジェクトは戻り値で返す。
FontMenuへの設定は下ののupdateFontMenuメソッドで行う。
|
setFontStyleToMenu
(static) |
public static FontStyle setFontStyleToMenu(ShapeContainer[] containers)
アクティブ(テキスト入力∙ 編集可能)なTextBoxがなく、containersで指定された図形(グループを含む)に含まれる全てのtextBoxのテキストに共通属性があれば、その属性をメニュー(font
menu)に反映させる。
getCommonFontStyleメソッドで、
引数textのstart, end区間から共通属性を設定したFontStyleオブジェクトを作成する。
作成したFontStyleオブジェクトは戻り値で返す。
FontMenuへの設定はupdateFontMenuメソッドで行う。
|
updateFontMenu
(static)
|
private static void updateFontMenu(FontStyle fontStyle)
MenuUtil.getMenuComponentで
メニューのフォント属性設定ボタン、コンボボックス、カラーチューザーのオブジェクトを取得し、
そのオブジェクトのメソッドを使って設定を行う。
∙ ボタン:seteSelectedメソッド (Bold, Italic, UnderLine, SuperScript)
∙ コンボボックス:ComboBox.setSelectedItem (Font family、Font size)
∙ カラーチューザー: CustomColorChooserDialog.setPreviewColor (Font color)
参照=>テキスト属性をフォントメニューに反映
|
getCommonFontStyle
(static)
|
private static FontStyle getCommonFontStyle(AttributedCharacterIterator
text, int start, int end)
引数:
text - 属性つき文字列
start - フォントスタイルを取り出す先頭位置。
end - フォントスタイルを取り出す最終位置。
戻り値:
引数textのstart, end区間から共通属性を設定したFontStyleオブジェクトを作成して返す。
処理:
AttributedStringUtil.getAttributedIntervalsメソッド
で引数start, end間に設定されているフォント関連属性を取り出す。
取りだした属性が1種類ならば共通属性あり、異なる属性が複数あれば共通属性なしとして、
FontStyleオブジェクトに設定し、そのFontStyleオブジェクトを戻り値として返す。
=>
テキスト属性をフォントメニューに反映
|
getCommonFontStyle
(static) |
private static FontStyle getCommonFontStyle(TextBox[] textBoxes)
引数textBoxesに含まれる全てのテキストから共通属性を設定したFontStyleオブジェクトを作成する。 |
getFontStyleAt
(static) |
public static FontStyle getFontStyleAt(AttributedCharacterIterator text,
int position)
引数:
text - 属性つき文字列
position - フォントスタイルを取り出す位置。
戻り値:
positionの位置からフォント属性を取得しFontStyleオブジェクトを返す。
処理:
このメソッドはTextBox.insertTextメソッドから呼ばれる。
positionのひとつ前の文字に設定されている属性を取り出す。属性の取り出しはつぎのルールで行う。
(1)もしpositionの前の文字が\n(改行)ならば、ひとつ文字をチェックし、\nではない文字の属性を取得する。
ひとつ文字をチェックする処理は\nではない文字が見つかるまで繰り返し実行する。
(2)position=0の場合(先頭位置)、後続する文字をチェックする。後続する文字が\nの場合、
さらにひとつ後の文字をチェックする。
(3)もし属性の設定されている文字が見つからない場合、
FontStyle.getDefaultFontStyleメソッドで取得した
デフォールト値を設定したFontStyleオブジェクトを返す。
|
isFontStyle |
public static boolean isFontStyle(AttributedCharacterIterator text, int
start, int end)
パラメータtextのstart, end区間にFontStyleが設定されていればtrueを返す。
|
isDefaultFontStyle |
public static boolean isDefaultFontStyle(AttributedCharacterIterator text,
int start, int end)
パラメータtextのstart, end区間のフォントがデフォールトフォントならばtrueを返す。
|
:
テキスト属性をフォントメニューに反映
戻る=>page top
フォントメニューの外観を変える。例えば図(a)の選択文字列(mtDNA)の属性はbold,
italicなのでフォントメニューの対応するボタンを選択状態(影付け)にする。
:
java.awt.font.TextAttribute
(“JavaTM Platform, Standard Edition 6. API 仕様”からの抜粋)
戻る=>page top
java.awt.font.TextAttribute属性の概要
キー
|
値の型
|
主な定数
|
デフォルト値
|
FAMILY
|
String
|
Font DIALOG、DIALOG_INPUT、SERIF、SANS_SERIF、および MONOSPACED を参照
|
「Default」(プラットフォームのデフォルトを使用する)
|
WEIGHT
|
Number
|
WEIGHT_REGULAR、WEIGHT_BOLD
|
WEIGHT_REGULAR
|
WIDTH
|
Number
|
WIDTH_CONDENSED、WIDTH_REGULAR、
WIDTH_EXTENDED
|
WIDTH_REGULAR
|
POSTURE
|
Number
|
POSTURE_REGULAR、POSTURE_OBLIQUE
|
POSTURE_REGULAR
|
SIZE
|
Number
|
なし
|
12.0
|
TRANSFORM
|
TransformAttribute
|
TransformAttribute IDENTITYを参照
|
TransformAttribute.IDENTITY
|
SUPERSCRIPT
|
Integer
|
SUPERSCRIPT_SUPER(上付き) 1~7
SUPERSCRIPT_SUB(下付き) -1~-7
|
0 (標準のグリフとメトリックスを使用する)
|
FONT
|
Font
|
なし
|
null (フォントの解決をオーバーライドしない)
|
CHAR_REPLACEMENT
|
GraphicAttribute
|
なし
|
null (フォントのグリフを使用してテキストを描画する)
|
FOREGROUND
|
Paint
|
なし
|
null (現在のグラフィックスのペイントを使用する)
|
BACKGROUND
|
Paint
|
なし
|
null (バックグラウンドを描画しない)
|
UNDERLINE
|
Integer
|
UNDERLINE_ON
|
-1 (下線を描画しない)
|
STRIKETHROUGH
|
Boolean
|
STRIKETHROUGH_ON
|
false (取り消し線を描画しない)
|
RUN_DIRECTION
|
Boolean
|
RUN_DIRECTION_LTR
RUN_DIRECTION_RTL
|
null (標準のデフォルトを使用する)
|
BIDI_EMBEDDING
|
Integer
|
なし
|
0 (基本の行方向を使用する)
|
JUSTIFICATION
|
Number
|
JUSTIFICATION_FULL
|
JUSTIFICATION_FULL
|
INPUT_METHOD_HIGHLIGHT
|
InputMethodHighlight、Annotation
|
(クラスを参照)
|
null (インプットハイライトを適用しない)
|
INPUT_METHOD_UNDERLINE
|
Integer
|
UNDERLINE_LOW_ONE_PIXEL、
UNDERLINE_LOW_TWO_PIXEL
|
-1 (下線を描画しない)
|
SWAP_COLORS
|
Boolean
|
SWAP_COLORS_ON
|
false (色を交換しない)
|
NUMERIC_SHAPING
|
NumericShaper
|
なし
|
null (数字の形状決定を行わない)
|
KERNING
|
Integer
|
KERNING_ON
|
0 (カーニングを要求しない)
|
LIGATURES
|
Integer
|
LIGATURES_ON
|
0 (オプション合字を作成しない)
|
TRACKING
|
Number
|
TRACKING_LOOSE、TRACKING_TIGHT
|
0 (トラッキングを追加しない)
|
2. AttributedStringUtil
戻る=>page top
Javaの属性つき文字列(AttributedString)を扱うクラスは、java.text.AttributedStringクラス、
java.text.AttributedCharacterIteratorインターフェイスくらいで、
自由にハンドリングするには機能が不足している。AttributedStringUtilクラスはこの機能不足を補うために用意した。
java.text.AttributedStringクラスは「属性つき文字列」なので、Stringデータと、
複数の(属性、区間)の組で表現できるはずである。AttributedStringUtilクラスは、
AttributedStringを分解して属性を取り出すメソッドと、属性設定を行うメソッド、
および外部から使うためのstaticなサービスメソッドを幾つか提供する。
文字列属性=>
TextAttribute属性
(属性、区間)の組はAttributedIntervalクラスで表す。
メソッド |
説明 |
コンストラクタ
|
public AttributedStringUtil(AttributedCharacterIterator iterator)
・iteratorをフィールド変数に設定。
・getAttributedIntervalListメソッドを呼んで、AttributedStringを分解してその属性をarrayListに格納する。
|
rangeError |
private boolean rangeError(int start, int end, String errMessage)
引数start, endがフィールド変数iteratorのテキスト開始インデックス、終了インデックスに範囲内にあるか否かをチェックする。もしなければエラーメッセージを出力し、trueを返す。 |
getBeginIndex |
public int getBeginIndex()
フィールド変数iteratorがnullならば-1を返す。nullでなければテキストの開始インデックスを返す。 |
getEndIndex |
public int getEndIndex()
フィールド変数iteratorがnullならば-1を返す。nullでなければテキストの終了インデックスを返す。 |
setAttributedString
|
public void setAttributedString(AttributedCharacterIterator iterator)
コンストラクタと同じ処理を実行する。
|
createAttributedIntervalList
|
private ArrayList createAttributedIntervalList(AttributedCharacterIterator
iterator)
引数:
iterator - 属性つきテキスト (styled text).
処理:
フィールド変数arrayListに設定するArrayListを作成する。
ArrayListに格納するオブジェクトはAttributedIntervalである。
java.text.AttributedCharacterIterator.getAllAttributeKeysで設定されている属性のキーを取り出し、
このクラスのcreateAttributedIntervalsメソッドでAttributedIntervalを作成する。
<Code>
private AttributedInterval[] createAttributedIntervalList(AttributedCharacterIterator.Attribute
key){
Vector vector=new Vector();
Object value;
char c=iterator.first();
while(c!=CharacterIterator.DONE) {
int runStart=iterator.getRunStart(key);
int runLimit=iterator.getRunLimit(key);
value=iterator.getAttribute(key);
if( value!=null) {
AttributedInterval attribInterval=new AttributedInterval(runStart, runLimit,
key, value);
vector.add(attribInterval);
}
c=iterator.setIndex(runLimit);
} //end of while
AttributedInterval[] intervals=new AttributedInterval[vector.size()];
for(int i=0;i<vector.size();i++){
intervals[i]=(AttributedInterval)vector.get(i);
}
return intervals;
}
|
createAttributedIntervals
|
private AttributedInterval[] createAttributedIntervals(AttributedCharacterIterator.Attribute
key, AttributedCharacterIterator iterator)
引数:
key - TextAttributeのキー
iterator - 属性つきテキスト (styled text).
戻り値:
AttributedIntervalオブジェクトの配列
処理:
ひとつの属性キーを指定してAttributedIntervalオブジェクトを作成する。
属性が飛び飛びに設定されていたり、属性キーに対して属性値の異なる区間が存在したりするので、
作成されるAttributedIntervalは一般に複数個作成する。
AttributedCharacterIteratorのgetRunStart、getRunLimitメソッドで属性の設定を取り出し、
getAttribute(key)メソッドでキーの値(属性値)を取り出す。
|
getString
|
public String getString()
フィールド変数iteratorに設定されているAttributedCharacterIteratorからStringデータを返す。
|
getString
|
public String getString(int start, int end)
フィールド変数iteratorに設定されているAttributedCharacterIteratorからstart,end区間のStringデータを返す。
|
getAttributedString
|
public AttributedString getAttributedString()
フィールド変数iteratorからStringを取り出し、
それにフィールド変数arrayListに格納されている属性を設定してjava.text.AttributedStringを返す。
|
getAttributedSubString
|
public AttributedString getAttributedSubString(int start, int end)
フィールド変数iteratorからStringを取り出し、それにthis.arrayListの属性を設定して
java.text.AttributedStringを返す。取り出す区間を指定する。
|
getTextLayoutString
|
public AttributedString getTextLayoutString(int start, int end, String
escapeChar,
String replacChar)
このメソッドはLineBreaker.createMultipleLinesメソッドから呼ばれる。上のgetAttributedSubStringメソッドと処理はほとんど同じ。異なる点は引数escapeCharをreplacreCharを置き換える処理を追加している点。
escapeCharは"\n" (Line feed)でreplacreCharは" " (スペース)または"↲"である。
|
getAttributedIntervals
|
public AttributedInterval[] getAttributedIntervals()
コンストラクタで作成したAttributedIntervalリストを配列に変換して返す。
該当するAttributedInterval区間がないときは長さ0の配列を返す。
|
getAttributedIntervals
|
public AttributedInterval[] getAttributedIntervals(int start, int end)
引数:
start, end - iteratorの範囲を指定。
Returns:
AttributedIntervalオブジェクトの配列。
処理:
区間を指定してAttributedIntervalリストを配列に変換して返す。
該当するAttributedInterval区間がないときは長さ0の配列を返す。
|
getAttributedIntervals
|
public AttributedInterval[] getAttributedIntervals(AttributedCharacterIterator.Attribute
key, int start, int end)
引数:
key - 属性キー。
start, end - iteratorの範囲
Returns:
AttributedIntervalオブジェクトの配列。
処理:
属性キーと区間を指定してAttributedIntervalを取得する。
該当するAttributedInterval区間がないときは長さ0の配列を返す。
|
addAttribute
|
public void addAttribute(AttributedCharacterIterator.Attribute key, Object
value, int start, int end)
引数:
key - 属性キー。
value - 属性値。
start, end - iteratorの範囲
処理:
属性キーを指定して属性値を指定区間に設定する。
(注)既に設定されている属性キーで新しい属性値を設定すると、
java.text.AttributedStringは新しい属性値で置き換えてくれる。区間を指定すればその区間だけ更新。
|
removeAttribute
|
public void removeAttribute(AttributedCharacterIterator.Attribute key,
int start, int end)
引数:
key - 削除される属性キー。
start, end - iteratorの範囲
処理:
[start, end]区間で指定属性キーの属性値を削除する。
java.text.AttributedStringのメソッドには属性値を削除するメソッドはないので、
元のStringデータにarrayListに格納してあるキーの属性を設定しなおす。
この際、引数で指定されたキーの属性は設定しない。
|
removeAttribute
|
public void removeAttribute(AttributedCharacterIterator.Attribute key)
引数:
key - 削除される属性キー。
処理:
指定属性キーの属性値を削除する。
|
hasAttribute
|
public boolean hasAttribute(AttributedCharacterIterator.Attribute key)
指定された属性キーで属性値は設定されているか否かを問い合わせる。
|
toString
|
public String toString()
文字列表現を返す。
|
getString
(static)
|
public static String getString(AttributedCharacterIterator iterator)
文字列を返す。
|
getAttributedString
(static)
|
public static AttributedString getAttributedString(AttributedCharacterIterator
iterator)
属性付き文字列を返す。
|
createCompositeText
(static)
|
public static AttributedCharacterIterator createCompositeText(AttributedCharacterIterator
iterator1, AttributedCharacterIterator iterator2, int insertionPosition,
boolean highLight)
引数:
iterator1にiterator2をinsertionPositionの位置で挿入。
highLight
highLight=falseならばTextAttribute.INPUT_METHOD_HIGHLIGHT属性は削除する。
highLight=trueならば挿入文字列にINPUT_METHOD_HIGHLIGHT属性を設定する。
INPUT_METHOD_HIGHLIGHT属性以外の属性値はiterator1, iterator2とも保存される。
処理:
AttributedStringUtilでiterator1、iterator2を分解し、
Stringデータレベルで文字列を合成し、それにiterator1、iterator2の属性を設定しなおす。
|
3. AttributedIntervalクラス
戻る=>page top
属性の設定された区間を表すクラス。
フィールド |
説明 |
start
|
protected int start
文字列区間の開始位置。1文字目の手前が0、1文字目の後で2文字目の手前が1、...とカウントする。
|
end
|
protected int end
文字列区間の終了位置。区間に属する最後の文字の後。先頭から数えた文字数と同じ。
|
key
|
protected AttributedCharacterIterator.Attribute key
属性キー
|
value
|
protected Object value
属性値
|
メソッド |
説明 |
コンストラクタ
|
public AttributedInterval(int start, int end, AttributedCharacterIterator.Attribute
key, Object value)
引数の値をフィールド変数に設定する。
|
getStart
|
public int getStart()
フィールド変数startを返す。
|
getEnd
|
public int getEnd()
フィールド変数endを返す。
|
getKey
|
public AttributedCharacterIterator.Attribute getKey()
フィールド変数keyを返す。
|
getValue
|
public Object getValue()
フィールド変数valueを返す。
|
clone
|
public Object clone()
クローンを返す。
|
toString
|
public String toString()
このオブジェクトの文字列表現を返す。
|
4. Intervalクラス
戻る=>page top
文字列の区間の演算を行う。
フィールド |
説明 |
start
|
public int start:区間の開始
|
end
|
public int end:区間の終了
|
メソッド |
説明 |
コンストラクタ
|
public Interval(int start, int end)
引数をフィールド変数に設定する。
|
getStart
|
public int getStart()
フィールド変数startを返す。
|
getEnd
|
public int getEnd()
フィールド変数endを返す。
|
length
|
public int length()
区間の長さ(this.end-this.start)を返す
|
toString
|
public String toString()
区間の文字列表現を返す。
|
add
(static)
|
public static Interval[] add(Interval interval, Interval addInterval)
intervalにaddIntervalを加えた区間列を返す。区間の和集合を計算する。
|
sub
(static)
|
public static Interval[] sub(Interval interval, Interval subInterval)
intervalからsubIntervalを引いた区間列を返す。
|
intersection
(static)
|
public static Interval[] intersection(Interval interval, Interval multInterval)
次のmultと同じ。
|
del
(static)
|
public static Interval[] del(Interval interval, Interval delInterval)
開始がinsertionIndexn位置で長さinsertionLengthの区間を削除したとき、
intervalがどう変化するかを計算する。
考え方はinsertと同じ。
|
5. CommittedTextContainerクラス
戻る=>page top
public class CommittedTextContainer
・textBoxで使われ、確定テキストを管理するコンテナー。
・文字列をコンテナーに追加する、コンテナーから削除する。
フィールド |
説明 |
committedText
|
private AttributedCharacterIterator committedText
確定テキスト
|
DefaultFont
|
private final Font DefaultFont=new Font(Font.DIALOG, Font.PLAIN, 12)
属性設定前のデフォールトフォント
|
メソッド |
説明 |
getCommittedText
|
public AttributedCharacterIterator getCommittedText()
フィールド変数committedTextを返す。
|
setCommittedText
|
public void setCommittedText(AttributedCharacterIterator committedText)
フィールド変数committedTextに引数の値を設定する。
TextAttribute.INPUT_METHOD_HIGHLIGHT属性が設定されていれば削除する。
|
getBeginIndex
|
public int getBeginIndex()
フィールド変数committedTextの先頭文字indexを返す。
|
getEndIndex
|
public int getEndIndex()
フィールド変数committedTextの最後の文字のindex。文字数と同じ。
|
getString
|
public String getString()
フィールド変数committedText からStringデータを取り出して返す。
|
getString
|
public String getString(int start, int end)
フィールド変数committedText から[start, end]間のStringデータを取り出して返す。
|
getAttributedString
|
public AttributedString getAttributedString()
フィールド変数committedText をAttributedStringに変換して返す。
|
getAttributedSubString
|
public AttributedString getAttributedSubString(int start, int end)
フィールド変数committedText の[start, end]間をAttributedStringに変換して返す。
|
getDisplayText
|
public AttributedCharacterIterator getDisplayText(int insertionPosition,
AttributedCharacterIterator composedText)
引数:
insertionPosition - 挿入位置
composedText - Input Method Frameworkから渡される未確定テキスト。
処理:
composedText(未確定テキスト)をフィールド変数committedText(確定テキスト)の
insertionPosition位置に挿入して合成した属性つき文字列を返す。
属性つきテキストの合成はAttributedStringUtil.createCompositeTextで行う。
|
insertText
|
public void insertText(int insertionPosition, AttributedCharacterIterator
insertString, boolean copyAttributes)
・committedTextのinsertionPositionからstringを挿入する。
copyAttributes=trueならば、挿入位置の手前の文字列の属性を挿入文字列にコピーする。
この引数は、AttributedStringUtil.createCompositeTextの第4引数copyAttributesに渡す。
・committedText のTextAttribute.INPUT_METHOD_HIGHLIGHT属性は削除。
・挿入文字列からTextAttribute.LANGUAGE, READING, INPUT_METHOD_SEGMENT属性を削除する。
・挿入文字列に次のsetDefaultFontAttributeでフィールド変数DefaultFontの属性を設定する。
・AttributedStringUtil.createCompositeTextで
committedTextに文字列を挿入して合成文字列を作成する。
(注) 属性設定はAttributedStringUtil.addAttributeメソッドを使う。
|
deleteText
|
public void deleteText(int delStart, int delEnd)
・committedTextから文字を削除する。
|
getSerializable
AttributedString
|
public SerializableAttributedString getSerializableAttributedString()
AttributedStringのファイル書き込み用、cut and paste用のデータを作成する。
|
setSerializable
AttributedString
|
public void setSerializableAttributedString(SerializableAttributedString
data)
ファイル書き込み用、cut and paste用のAttributedStringDataデータをから
AttributedStringを作成しAttributedStringContainerのcommittedTextにセットする。
|
|