- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.GlyphView
-
- すべての実装されたインタフェース:
Cloneable,SwingConstants,TabableView
- 直系の既知のサブクラス:
LabelView
public class GlyphView extends View implements TabableView, Cloneable
テキスト・モデルの要素上にマッピングされたビューを表す、テキストの書式付きチャンクです。 このビューは通常、何らかの方法で文字レベルの属性を使ってテキスト・グリフを表示します。 GlyphPainterクラスの実装は、実際の描画およびモデルとビューの変換を行うのに使われます。 このクラスは、モデルに関連したレイアウトおよび管理から描画を分離します。このビューは、フォーマットを整えるために分割をサポートしています。 分割によってできたフラグメントは、その要素の直接的な責任を持つビューを共有する(すなわち、それらはネストされたクラスであり、それ自体の状態は最小限しか持たない)ため、各フラグメントはそのリソースを共有できます。
このビューは、タブが埋め込まれたテキストを表現することもあるので、
TabableViewインタフェースを実装します。 タブが展開されるのは、タブの展開を行うコンテナにこのビューが埋め込まれている場合だけです。 タブ展開を行うコンテナとしては、ParagraphViewなどがあります。- 導入されたバージョン:
- 1.3
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static classGlyphView.GlyphPainterグリフの描画を行うクラスです。
-
フィールドのサマリー
-
クラスjavax.swing.textで宣言されるフィールド。表示
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
-
インタフェースjavax.swingで宣言されたフィールド。SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 ViewbreakView(int axis, int p0, float pos, float len)指定された軸および指定された長さでこのビューを分割します。voidchangedUpdate(DocumentEvent e, Shape a, ViewFactory f)このビューが扱う位置で属性が変更されたことをドキュメントから通知します。protected voidcheckPainter()グリフ・ペインタが存在するかどうかを調べます。protected Objectclone()シャロー・コピーを作成します。ViewcreateFragment(int p0, int p1)要素の一部分を表すビューを作成します。floatgetAlignment(int axis)軸に沿ったこのビューの望ましいレイアウトを決定します。ColorgetBackground()グリフの描画に使用するバックグラウンド・カラーを取得します。intgetBreakWeight(int axis, float pos, float len)このビューで分割のウエイトがどのくらい適切かを示します。intgetEndOffset()このビューが扱うモデルの一部を取得します。FontgetFont()グリフのベースとなるフォントを取得します。ColorgetForeground()グリフの描画に使用するフォアグラウンド・カラーを取得します。GlyphView.GlyphPaintergetGlyphPainter()現在インストールされているグリフ・ペインタを取得します。floatgetMinimumSpan(int axis)このビューの最小スパンを軸に沿って指定します。intgetNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。floatgetPartialSpan(int p0, int p1)ビューの一部のため、タブ拡張と同じ軸に沿ったスパンを指定します。floatgetPreferredSpan(int axis)このビューに適切なスパンを軸に沿って指定します。intgetStartOffset()このビューが扱うモデルの一部を取得します。floatgetTabbedSpan(float x, TabExpander e)指定されたタブ展開の実装を使うときに望ましいスパンを指定します。TabExpandergetTabExpander()タブがこのビューに存在する場合に使うTabExpanderを取得します。SegmentgetText(int p0, int p1)指定された範囲を占めるテキストへの参照を取得します。voidinsertUpdate(DocumentEvent e, Shape a, ViewFactory f)このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。booleanisStrikeThrough()グリフが取消し線を持つかどうかを決定します。booleanisSubscript()グリフを上付き文字として描画するかどうかを決定します。booleanisSuperscript()グリフを下付き文字として描画するかどうかを決定します。booleanisUnderline()グリフに下線を付けるかどうかを決定します。ShapemodelToView(int pos, Shape a, Position.Bias b)ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。voidpaint(Graphics g, Shape a)一連のテキスト・スタイルの一部をレンダリングします。voidremoveUpdate(DocumentEvent e, Shape a, ViewFactory f)このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。voidsetGlyphPainter(GlyphView.GlyphPainter p)グリフの描画に使用するペインタを設定します。intviewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。-
クラスjavax.swing.textで宣言されたメソッド。表示
append, forwardUpdate, forwardUpdateToView, getAttributes, getChildAllocation, getContainer, getDocument, getElement, getGraphics, getMaximumSpan, getParent, getResizeWeight, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, setSize, updateChildren, updateLayout, viewToModel
-
-
-
-
コンストラクタの詳細
-
GlyphView
public GlyphView(Element elem)
要素にラップされた新しいビューを作成します。- パラメータ:
elem- 要素
-
-
メソッドの詳細
-
clone
protected final Object clone()
シャロー・コピーを作成します。 createFragmentメソッドおよびbreakViewメソッドによって使用されます。
-
getGlyphPainter
public GlyphView.GlyphPainter getGlyphPainter()
現在インストールされているグリフ・ペインタを取得します。 ペインタがまだインストールされていない場合、およびデフォルトがまだ必要でない場合は、nullが返されます。- 戻り値:
- 現在インストールされているグリフ画家
-
setGlyphPainter
public void setGlyphPainter(GlyphView.GlyphPainter p)
グリフの描画に使用するペインタを設定します。- パラメータ:
p- グリフのレンダリングに使用する画家
-
getText
public Segment getText(int p0, int p1)
指定された範囲を占めるテキストへの参照を取得します。 通常はGlyphPainterがグリフの描画対象文字を判定するのに使います。- パラメータ:
p0- ドキュメントの開始オフセット>= 0p1- ドキュメントの終了オフセット>= p0- 戻り値:
- テキストが格納されている
Segment
-
getBackground
public Color getBackground()
グリフの描画に使用するバックグラウンド・カラーを取得します。 バックグラウンド・カラーがない場合はnullを返すようにします。 関連するドキュメントが書式付きドキュメントの場合はStyledDocument.getBackgroundを呼び出すのに実装され、そうでない場合はnullを返します。- 戻り値:
- グリフのレンダリングに使用する背景色
-
getForeground
public Color getForeground()
グリフの描画に使用するフォアグラウンド・カラーを取得します。 フォアグラウンド・カラーがない場合はnullを返すようにします。 関連するドキュメントがStyledDocumentの場合はStyledDocument.getBackgroundを呼び出すのに実装されます。 関連するドキュメントがStyledDocumentでない場合は、関連するコンポーネントのフォアグラウンド・カラーが使用されます。 関連するドキュメントがない場合はnullが返されます。- 戻り値:
- グリフのレンダリングに使用する前景色
-
getFont
public Font getFont()
グリフのベースとなるフォントを取得します。 関連するドキュメントがStyledDocumentの場合はStyledDocument.getFontを呼び出すのに実装されます。 関連するドキュメントがStyledDocumentでない場合は、関連するコンポーネントのフォントが使用されます。 関連するドキュメントがない場合はnullが返されます。- 戻り値:
- グリフの基になるフォント
-
isUnderline
public boolean isUnderline()
グリフに下線を付けるかどうかを決定します。 trueの場合、ベースラインに下線が引かれます。- 戻り値:
- グリフに下線を付ける必要がある場合
-
isStrikeThrough
public boolean isStrikeThrough()
グリフが取消し線を持つかどうかを決定します。 trueの場合、グリフの中央に線が引かれます。- 戻り値:
- グリフに取消し線がある場合
-
isSubscript
public boolean isSubscript()
グリフを上付き文字として描画するかどうかを決定します。- 戻り値:
- グリフを上付き文字としてレンダリングする必要がある場合
-
isSuperscript
public boolean isSuperscript()
グリフを下付き文字として描画するかどうかを決定します。- 戻り値:
- グリフを添字としてレンダリングする必要がある場合
-
getTabExpander
public TabExpander getTabExpander()
タブがこのビューに存在する場合に使うTabExpanderを取得します。- 戻り値:
- このビューにタブが存在する場合に使用するTabExpander
-
checkPainter
protected void checkPainter()
グリフ・ペインタが存在するかどうかを調べます。 ペインタが存在しない場合、デフォルトのグリフ・ペインタがインストールされます。
-
getTabbedSpan
public float getTabbedSpan(float x, TabExpander e)指定されたタブ展開の実装を使うときに望ましいスパンを指定します。- 定義:
getTabbedSpan、インタフェースTabableView- パラメータ:
x- タブ展開のためにビューが配置される位置>= 0。e- タブを検出したときにタブを展開する方法。- 戻り値:
- 適切なスパン>= 0
- 関連項目:
TabableView.getTabbedSpan(float, javax.swing.text.TabExpander)
-
getPartialSpan
public float getPartialSpan(int p0, int p1)ビューの一部のため、タブ拡張と同じ軸に沿ったスパンを指定します。 このメソッドは、タブ拡張がタブストップと関連する余白を持たないテキストの部分の位置揃えを伴う場合にTabExpanderによって使用されます。 このため、指定された範囲にタブが含まれていないと仮定します。このメソッドは、getTabbedSpanまたはgetPreferredSizeのサービス中に呼び出すことができます。 サイズを測定するために、それ自身のテキスト・バッファを準備する必要があります。
- 定義:
getPartialSpan、インタフェースTabableView- パラメータ:
p0- ドキュメントの開始オフセット>= 0p1- ドキュメントの終了オフセット>= p0- 戻り値:
- スパン>= 0
-
getStartOffset
public int getStartOffset()
このビューが扱うモデルの一部を取得します。- オーバーライド:
getStartOffset、クラスView- 戻り値:
- モデルへの開始オフセット
- 関連項目:
View.getStartOffset()
-
getEndOffset
public int getEndOffset()
このビューが扱うモデルの一部を取得します。- オーバーライド:
getEndOffset、クラスView- 戻り値:
- モデルへの終了オフセット
- 関連項目:
View.getEndOffset()
-
getMinimumSpan
public float getMinimumSpan(int axis)
このビューの最小スパンを軸に沿って指定します。この実装は、ビュー内で分割できないもっとも長い領域を
View.X_AXISの最小スパンとして返します。- オーバーライド:
getMinimumSpan、クラスView- パラメータ:
axis-View.X_AXISまたはView.Y_AXIS- 戻り値:
- ビューを描画できる最小スパン
- 例外:
IllegalArgumentException-axisパラメータが無効の場合- 関連項目:
View.getMinimumSpan(int)
-
getPreferredSpan
public float getPreferredSpan(int axis)
このビューに適切なスパンを軸に沿って指定します。- 定義:
getPreferredSpan、クラスView- パラメータ:
axis- View.X_AXISまたはView.Y_AXIS- 戻り値:
- ビューの描画先のスパン>= 0。 通常、ビューは返されたスパン内に描画されるよう求められるが、その保証はない。 親はビューのサイズの変更や分割を行う可能性がある。
- 関連項目:
View.getPreferredSpan(int)
-
getAlignment
public float getAlignment(int axis)
軸に沿ったこのビューの望ましいレイアウトを決定します。 ラベルの整列は、y軸の場合はフォント・ベースラインに沿って、x軸の場合はスーパー・クラスの整列に沿って決めます。- オーバーライド:
getAlignment、クラスView- パラメータ:
axis- View.X_AXISまたはView.Y_AXIS- 戻り値:
- 望ましい配置。 この値の範囲は0.0から1.0で、0は起点への配置、1.0は起点から最大に離れた配置を表す。 0.5は、ビューの中央への配置になります。
-
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。- 定義:
modelToView、クラスView- パラメータ:
pos- 変換対象の位置>= 0a- 描画するために割り当てられた領域b-Position.Bias.ForwardまたはPosition.Bias.Backward- 戻り値:
- 指定された位置のバウンディング・ボックス
- 例外:
BadLocationException- 指定された位置が、関連するドキュメント内の有効な位置を示さない場合- 関連項目:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
-
viewToModel
public int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。- 定義:
viewToModel、クラスView- パラメータ:
x- X座標>= 0y- Y座標>= 0a- 描画するために割り当てられた領域biasReturn-Position.Bias.ForwardまたはPosition.Bias.Backwardが、この配列の0番目の要素として返される- 戻り値:
- 指定されたビュー内の点をもっとも適切に表現するモデル内の位置>= 0
- 関連項目:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
-
getBreakWeight
public int getBreakWeight(int axis, float pos, float len)このビューで分割のウエイトがどのくらい適切かを示します。 このメソッドは、フォーマットの過程でbreakViewを呼び出すもっとも適切なビューを判断するために使用できます。 ウエイトが高いほど、分割にはより適切です。 値がView.BadBreakWeight以下の場合は、分割対象とはなりません。 値がView.ForcedBreakWeight以上の場合は、分割されます。これは、Y_AXISのスーパークラスへの転送のために実装されます。 X_AXISについては、次の値が返される可能性があります。
- View.ExcellentBreakWeight
- 分割したい位置の直前に空白がある場合。
- View.BadBreakWeight
- 分割したい位置が、結果として開始オフセットの分割位置になる場合。
- View.GoodBreakWeight
- 以上2つの条件が該当しない場合。
- オーバーライド:
getBreakWeight、クラスView- パラメータ:
axis- View.X_AXISまたはView.Y_AXISpos- 分割されたビューの開始の可能性のある位置。0以上。 これはタブ位置の計算に便利な場合がある。len- 分割が必要なposからの相対的な長さを指定する。0以上。- 戻り値:
- ウエイト。View.ForcedBreakWeightとView.BadBreakWeightの間の値。
- 関連項目:
LabelView,ParagraphView,View.BadBreakWeight,View.GoodBreakWeight,View.ExcellentBreakWeight,View.ForcedBreakWeight
-
breakView
public View breakView(int axis, int p0, float pos, float len)
指定された軸および指定された長さでこのビューを分割します。 このメソッドは、空白文字の位置で分割するために実装されており、末尾に空白文字を持つフラグメントを返します。 空白文字の位置が見つからない場合は、もっとも近い文字を使います。- オーバーライド:
breakView、クラスView- パラメータ:
axis- View.X_AXISまたはView.Y_AXISp0- フラグメントの表示を開始するモデル内の位置>= 0。pos- 分割されたビューが占める軸に沿った位置>= 0。 これはタブの計算などで便利な場合がある。len- 分割が必要な軸に沿った距離>= 0。- 戻り値:
- ビューが分割できる場合は、指定されたスパンを表すビューのフラグメント。 ビューが分割動作をサポートしていない場合は、ビュー自体が返される。
- 関連項目:
View.breakView(int, int, float, float)
-
createFragment
public View createFragment(int p0, int p1)
要素の一部分を表すビューを作成します。 フォーマットの操作中に、ビューの各フラグメントを測定するために使います。 ビューがフラグメント化をサポートしない場合(これがデフォルト)は、ビュー自身が返されます。このビューは、フラグメント化をサポートしています。 この実装により、このビューの状態を共有する、ビューの一部分だけを表す入れ子になっているクラスを返すことができます。
- オーバーライド:
createFragment、クラスView- パラメータ:
p0- 開始オフセット。0以上。 要素の開始オフセットに等しいか、それより大きい値で、要素の終了オフセットより小さい値にする。p1- 終了オフセット。p0より大きい。 要素の開始オフセットより大きく、要素の終了オフセットに等しいか、それより小さい値にする。- 戻り値:
- ビューのフラグメント。ビューがフラグメントへの分割をサポートしない場合はビュー自体
- 関連項目:
LabelView
-
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationExceptionキャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。 ビューによっては、可視ではないか、モデル内と同じ順序でないか、またはモデル内の一部の位置へのアクセスを許可しない場合があります。 このメソッドを使用すると、0以上の範囲内で変換する位置を指定できます。 値が-1の場合は、位置が自動的に計算されます。 値が-1よりも小さい場合は、BadLocationExceptionがスローされます。- オーバーライド:
getNextVisualPositionFrom、クラスView- パラメータ:
pos- 変換対象の位置a- 描画するために割り当てられた領域direction- 現在位置からの方向。キーボードに通常見られる矢印キーと見なすことができる。 SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH、またはSwingConstants.SOUTHになる。b- バイアスbiasRet- 返されるバイアス- 戻り値:
- 次の可視の位置をもっともよく表すモデル内の位置。
- 例外:
BadLocationException- 指定された位置がドキュメント内の有効な位置でない場合IllegalArgumentException- 方向が無効な場合
-
insertUpdate
public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。 このメソッドは、グリフが描画される軸に沿ってpreferenceChangedを呼び出すために実装されます。- オーバーライド:
insertUpdate、クラスView- パラメータ:
e- 関連するドキュメントからの変更情報a- ビューの現在の割当てf- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
removeUpdate
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。 このメソッドは、グリフが描画される軸に沿ってpreferenceChangedを呼び出すために実装されます。- オーバーライド:
removeUpdate、クラスView- パラメータ:
e- 関連するドキュメントからの変更情報a- ビューの現在の割当てf- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
changedUpdate
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
このビューが扱う位置で属性が変更されたことをドキュメントから通知します。 このメソッドは、水平軸および垂直軸の両方に沿ってpreferenceChangedを呼び出すために実装されます。- オーバーライド:
changedUpdate、クラスView- パラメータ:
e- 関連するドキュメントからの変更情報a- ビューの現在の割当てf- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
-