kinugasa.ui
クラス TextLabel

java.lang.Object
  上位を拡張 kinugasa.object.Sprite
      上位を拡張 kinugasa.object.BasicSprite
          上位を拡張 kinugasa.ui.TextLabel
すべての実装されたインタフェース:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Sprite>, Controllable, Drawable, Shapeable

public class TextLabel
extends BasicSprite

kinugasa : TextLabel : 一行のテキストを表示するスプライトの実装です.

ラベルは1行のテキストとタイムカウンタを保有しており、テキストの最初から1文字ずつ順番に表示することができます.

表示文字数は表示の度に設定されているタイムカウンタを利用して判定され、設定されてる遅延時間経過後に表示文字数を1文字 追加します.
ラベルの文字列や下地の描画はLabelModel内で行われます.

バージョン:
1.0.0 - 2012/07/16_14:11:53.
作成者:
Dra0211
関連項目:
直列化された形式

フィールドの概要
private  int idx
          表示される文字数.
private  LabelModel labelModel
          表示モデル.
private static long serialVersionUID
           
private  Sound sound
          1文字表示されるたびに再生できるサウンドファイルです.
private  java.lang.StringBuilder text
          ラベルに表示するテキスト.
private  TimeCounter timeCounter
          表示遅延用のカウンタ.
 
コンストラクタの概要
TextLabel(float x, float y, float w, float h, VectorF vector, MovingModel movingModel, java.lang.String text, int idx, TimeCounter tc, LabelModel lm)
          新しいラベルを作成します.
TextLabel(float x, float y, float w, float h, VectorF vector, MovingModel movingModel, java.lang.String text, TimeCounter tc, LabelModel lm)
          新しいラベルを作成します.
TextLabel(float x, float y, java.lang.String text, int idx, TimeCounter tc, LabelModel lm)
          新しいラベルを作成します.
TextLabel(float x, float y, java.lang.String text, LabelModel lm)
          新しいラベルを作成します.
TextLabel(float x, float y, java.lang.String text, TimeCounter tc, LabelModel lm)
          新しいラベルを作成します.
 
メソッドの概要
 void allChar()
          全ての文字を可視化します.
 TextLabel clone()
          このスプライトの複製を作成します.
 void draw(java.awt.Graphics2D g)
          ラベルを描画します.
 void draw(java.awt.Graphics2D g, LabelModel model)
           
 LabelModel getLabelModel()
          ラベルモデルを取得します.
 Sound getSound()
          1文字表示されるたびに再生されるサウンドを取得します.
 java.lang.StringBuilder getStringBuilder()
          このラベルのテキストの実装を返します.
 java.lang.String getText()
          このラベルのテキストをStringとして取得します.
 TimeCounter getTimeCounter()
          文字表示時間に使用されるタイムカウンタを取得します.
 java.lang.String getVisibleText()
          このラベルのテキストの表示中の部分文字列を取得します.
 boolean isAllTextVisible()
          このラベルが全ての文字列を表示しているかを調べます.
 void nextChar()
          表示領域を拡大し、次の文字を可視化します.
 void prevChar()
          表示領域を縮小し、前の文字までを可視化します.
 void resetIdx()
          全ての文字を不可視にします.
 void setLabelModel(LabelModel labelModel)
          ラベルモデルを設定します.
 void setSound(Sound sound)
          1文字表示されるたびに再生されるサウンドを設定します.
 void setText(java.lang.String text)
          ラベルのテキストを更新します.
 void setText(java.lang.String text, boolean allout)
           
 void setTimeCounter(TimeCounter timeCounter)
          文字表示時間に使用されるタイムカウンタを設定します.
 
クラス kinugasa.object.BasicSprite から継承されたメソッド
getAngle, getMovingModel, getMovingModel, getNextCenter, getNextLocation, getSpeed, getVector, move, move, move, move, setAngle, setMovingModel, setSpeed, setVector, toString
 
クラス kinugasa.object.Sprite から継承されたメソッド
compareTo, contains, getBounds, getCenter, getCenterX, getCenterY, getHeight, getHitBounds, getLocation, getPersonalCenter, getPersonalCenterX, getPersonalCenterY, getSize, getStatus, getWidth, getX, getY, getZ, isExist, isVisible, setBounds, setBounds, setBounds, setExist, setHeight, setLocation, setLocation, setSize, setSize, setStatus, setVisible, setWidth, setX, setY, setZ, update, updateCenter, updatePersonalCenter
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

serialVersionUID

private static final long serialVersionUID
関連項目:
定数フィールド値

text

private java.lang.StringBuilder text
ラベルに表示するテキスト.


idx

private int idx
表示される文字数.


timeCounter

private TimeCounter timeCounter
表示遅延用のカウンタ.


labelModel

private LabelModel labelModel
表示モデル.


sound

private Sound sound
1文字表示されるたびに再生できるサウンドファイルです.

コンストラクタの詳細

TextLabel

public TextLabel(float x,
                 float y,
                 java.lang.String text,
                 LabelModel lm)
新しいラベルを作成します. このコンストラクタでは、すべての文字が表示されます(idx==text.length())
また、ラベルのサイズは1,1になります.
その他スプライトのプロパティはスプライトのデフォルト値が適用されます.

パラメータ:
x - X座標.
y - Y座標.
text - 表示するテキスト.
lm - 表示モデル.

TextLabel

public TextLabel(float x,
                 float y,
                 java.lang.String text,
                 TimeCounter tc,
                 LabelModel lm)
新しいラベルを作成します. このコンストラクタでは、すべての文字が表示されます(idx==text.length())
また、ラベルのサイズは1,1になります.
その他スプライトのプロパティはスプライトのデフォルト値が適用されます.

パラメータ:
x - X座標.
y - Y座標.
text - 表示するテキスト.
tc - タイムカウンタ.使用しない場合はTimeCounter.FALSE_MODELを指定する.TimeCounter.TRUE_MODELが最速の 描画モデル(1フレームに1文字追加)となり、それ以上の速度は1フレームに2文字以上のテキストを可視化する 専用のLabelModelを定義する必要がある.
lm - 表示モデル.

TextLabel

public TextLabel(float x,
                 float y,
                 java.lang.String text,
                 int idx,
                 TimeCounter tc,
                 LabelModel lm)
新しいラベルを作成します. ラベルのサイズは1,1になります.
その他スプライトのプロパティはスプライトのデフォルト値が適用されます.

パラメータ:
x - X座標.
y - Y座標.
text - 表示するテキスト.
idx - 表示する文字数.
tc - タイムカウンタ.使用しない場合はTimeCounter.FALSE_MODELを指定する.TimeCounter.TRUE_MODELが最速の 描画モデル(1フレームに1文字追加)となり、それ以上の速度は1フレームに2文字以上のテキストを可視化する 専用のLabelModelを定義する必要がある.
lm - 表示モデル.

TextLabel

public TextLabel(float x,
                 float y,
                 float w,
                 float h,
                 VectorF vector,
                 MovingModel movingModel,
                 java.lang.String text,
                 TimeCounter tc,
                 LabelModel lm)
新しいラベルを作成します.

パラメータ:
x - X座標.
y - Y座標.
w - 幅.
h - 高さ.
vector -
text - 表示するテキスト.
movingModel - 移動モデル.
tc - タイムカウンタ.使用しない場合はTimeCounter.FALSE_MODELを指定する.TimeCounter.TRUE_MODELが最速の 描画モデル(1フレームに1文字追加)となり、それ以上の速度は1フレームに2文字以上のテキストを可視化する 専用のLabelModelを定義する必要がある.
lm - 表示モデル.

TextLabel

public TextLabel(float x,
                 float y,
                 float w,
                 float h,
                 VectorF vector,
                 MovingModel movingModel,
                 java.lang.String text,
                 int idx,
                 TimeCounter tc,
                 LabelModel lm)
新しいラベルを作成します.

パラメータ:
x - X座標.
y - Y座標.
w - 幅.
h - 高さ.
vector -
text - 表示するテキスト.
idx - 表示する文字数.
movingModel - 移動モデル.
tc - タイムカウンタ.使用しない場合はTimeCounter.FALSE_MODELを指定する.TimeCounter.TRUE_MODELが最速の 描画モデル(1フレームに1文字追加)となり、それ以上の速度は1フレームに2文字以上のテキストを可視化する 専用のLabelModelを定義する必要がある.
lm - 表示モデル.
メソッドの詳細

draw

public void draw(java.awt.Graphics2D g)
ラベルを描画します. 実際の描画はラベルモデルが行います.

定義:
インタフェース Drawable 内の draw
定義:
クラス BasicSprite 内の draw
パラメータ:
g - 書き込むグラフィックスコンテキスト.

draw

public void draw(java.awt.Graphics2D g,
                 LabelModel model)

setText

public void setText(java.lang.String text)
ラベルのテキストを更新します.

パラメータ:
text - 新しいテキスト.

setText

public void setText(java.lang.String text,
                    boolean allout)

getText

public java.lang.String getText()
このラベルのテキストをStringとして取得します. このメソッドは新しいStringを返します.

戻り値:
ラベルのテキスト.

getStringBuilder

public java.lang.StringBuilder getStringBuilder()
このラベルのテキストの実装を返します. このメソッドは参照を返します.

戻り値:
ラベルのテキスト.

getVisibleText

public java.lang.String getVisibleText()
このラベルのテキストの表示中の部分文字列を取得します. 全てのラベルモデルでは、通常、このメソッドを使用し取得した文字列を表示すべきです.
戻り値:
表示中の文字列.このラベルに設定されている文字列の0からidxまでの部分文字列.

setTimeCounter

public void setTimeCounter(TimeCounter timeCounter)
文字表示時間に使用されるタイムカウンタを設定します.

パラメータ:
timeCounter - カウンタ.

getTimeCounter

public TimeCounter getTimeCounter()
文字表示時間に使用されるタイムカウンタを取得します.

戻り値:
timeCounter カウンタ.

setLabelModel

public void setLabelModel(LabelModel labelModel)
ラベルモデルを設定します.

パラメータ:
labelModel - ラベルモデル.

getLabelModel

public LabelModel getLabelModel()
ラベルモデルを取得します.

戻り値:
ラベルモデル.

isAllTextVisible

public boolean isAllTextVisible()
このラベルが全ての文字列を表示しているかを調べます.

戻り値:
全ての文字列が可視化されている場合はtrueを返す.

nextChar

public void nextChar()
表示領域を拡大し、次の文字を可視化します. テキストがすべて表示されている場合は何も行いません.


prevChar

public void prevChar()
表示領域を縮小し、前の文字までを可視化します. テキストが文字も表示されていない場合は何も行いません.


allChar

public void allChar()
全ての文字を可視化します.


resetIdx

public void resetIdx()
全ての文字を不可視にします.


setSound

public void setSound(Sound sound)
1文字表示されるたびに再生されるサウンドを設定します. サウンドはnullを許容します。

パラメータ:
sound - サウンドファイルを送信します。

getSound

public Sound getSound()
1文字表示されるたびに再生されるサウンドを取得します. サウンドはnullを許容します。設定されていない場合はnullを返します。

戻り値:
このラベルに設定されているサウンドファイルを返します。設定されていない場合はnullを返します。

clone

public TextLabel clone()
クラス BasicSprite の記述:
このスプライトの複製を作成します. このメソッドでは、全てのフィールドをクローニングします.
このメソッドはサブクラスで適切にオーバーライドしてください.

オーバーライド:
クラス BasicSprite 内の clone
戻り値:
このスプライトと同じ設定の新しいインスタンス.