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
-
ネストされたクラスのサマリー
-
フィールドのサマリー
クラス javax.swing.text.Viewで宣言されたフィールド
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
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明breakView
(int axis, int p0, float pos, float len) 指定された軸および指定された長さでこのビューを分割します。void
changedUpdate
(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置で属性が変更されたことをドキュメントから通知します。protected void
グリフ・ペインタが存在するかどうかを調べます。protected final Object
clone()
シャロー・コピーを作成します。createFragment
(int p0, int p1) 要素の一部分を表すビューを作成します。float
getAlignment
(int axis) 軸に沿ったこのビューの望ましいレイアウトを決定します。グリフの描画に使用するバックグラウンド・カラーを取得します。int
getBreakWeight
(int axis, float pos, float len) このビューで分割のウエイトがどのくらい適切かを示します。int
このビューが扱うモデルの一部を取得します。getFont()
グリフのベースとなるフォントを取得します。グリフの描画に使用するフォアグラウンド・カラーを取得します。現在インストールされているグリフ・ペインタを取得します。float
getMinimumSpan
(int axis) このビューの最小スパンを軸に沿って指定します。int
getNextVisualPositionFrom
(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。float
getPartialSpan
(int p0, int p1) ビューの一部のため、タブ拡張と同じ軸に沿ったスパンを指定します。float
getPreferredSpan
(int axis) このビューに適切なスパンを軸に沿って指定します。int
このビューが扱うモデルの一部を取得します。float
getTabbedSpan
(float x, TabExpander e) 指定されたタブ展開の実装を使うときに望ましいスパンを指定します。タブがこのビューに存在する場合に使うTabExpanderを取得します。getText
(int p0, int p1) 指定された範囲を占めるテキストへの参照を取得します。void
insertUpdate
(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。boolean
グリフが取消し線を持つかどうかを決定します。boolean
グリフを上付き文字として描画するかどうかを決定します。boolean
グリフを下付き文字として描画するかどうかを決定します。boolean
グリフに下線を付けるかどうかを決定します。modelToView
(int pos, Shape a, Position.Bias b) ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。void
一連のテキスト・スタイルの一部をレンダリングします。void
removeUpdate
(DocumentEvent e, Shape a, ViewFactory f) このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。void
グリフの描画に使用するペインタを設定します。int
viewToModel
(float x, float y, Shape a, Position.Bias[] biasReturn) ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。クラス javax.swing.text.Viewで宣言されたメソッド
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
- 関連項目:
-
getPartialSpan
public float getPartialSpan(int p0, int p1) ビューの一部のため、タブ拡張と同じ軸に沿ったスパンを指定します。 このメソッドは、タブ拡張がタブストップと関連する余白を持たないテキストの部分の位置揃えを伴う場合にTabExpanderによって使用されます。 このため、指定された範囲にタブが含まれていないと仮定します。このメソッドは、getTabbedSpanまたはgetPreferredSizeのサービス中に呼び出すことができます。 サイズを測定するために、それ自身のテキスト・バッファを準備する必要があります。
- 定義:
getPartialSpan
、インタフェースTabableView
- パラメータ:
p0
- ドキュメントの開始オフセット>= 0p1
- ドキュメントの終了オフセット>= p0- 戻り値:
- スパン>= 0
-
getStartOffset
public int getStartOffset()このビューが扱うモデルの一部を取得します。- オーバーライド:
getStartOffset
、クラスView
- 戻り値:
- モデルへの開始オフセット
- 関連項目:
-
getEndOffset
public int getEndOffset()このビューが扱うモデルの一部を取得します。- オーバーライド:
getEndOffset
、クラスView
- 戻り値:
- モデルへの終了オフセット
- 関連項目:
-
paint
一連のテキスト・スタイルの一部をレンダリングします。 -
getMinimumSpan
public float getMinimumSpan(int axis) このビューの最小スパンを軸に沿って指定します。この実装は、ビュー内で分割できないもっとも長い領域を
View.X_AXIS
の最小スパンとして返します。- オーバーライド:
getMinimumSpan
、クラスView
- パラメータ:
axis
-View.X_AXIS
またはView.Y_AXIS
- 戻り値:
- ビューを描画できる最小スパン
- 例外:
IllegalArgumentException
-axis
パラメータが無効の場合- 関連項目:
-
getPreferredSpan
public float getPreferredSpan(int axis) このビューに適切なスパンを軸に沿って指定します。- 定義:
getPreferredSpan
、クラスView
- パラメータ:
axis
- View.X_AXISまたはView.Y_AXIS- 戻り値:
- ビューの描画先のスパン>= 0。 通常、ビューは返されたスパン内に描画されるよう求められるが、その保証はない。 親はビューのサイズの変更や分割を行う可能性がある。
-
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
- 指定された位置が、関連するドキュメント内の有効な位置を示さない場合- 関連項目:
-
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
- 関連項目:
-
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の間の値。
- 関連項目:
-
breakView
public View breakView(int axis, int p0, float pos, float len) 指定された軸および指定された長さでこのビューを分割します。 このメソッドは、空白文字の位置で分割するために実装されており、末尾に空白文字を持つフラグメントを返します。 空白文字の位置が見つからない場合は、もっとも近い文字を使います。 -
createFragment
public View createFragment(int p0, int p1) 要素の一部分を表すビューを作成します。 フォーマットの操作中に、ビューの各フラグメントを測定するために使います。 ビューがフラグメント化をサポートしない場合(これがデフォルト)は、ビュー自身が返されます。このビューは、フラグメント化をサポートしています。 この実装により、このビューの状態を共有する、ビューの一部分だけを表す入れ子になっているクラスを返すことができます。
- オーバーライド:
createFragment
、クラスView
- パラメータ:
p0
- 開始オフセット。0以上。 要素の開始オフセットに等しいか、それより大きい値で、要素の終了オフセットより小さい値にする。p1
- 終了オフセット。p0より大きい。 要素の開始オフセットより大きく、要素の終了オフセットに等しいか、それより小さい値にする。- 戻り値:
- ビューのフラグメント。ビューがフラグメントへの分割をサポートしない場合はビュー自体
- 関連項目:
-
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
- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
-
removeUpdate
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。 このメソッドは、グリフが描画される軸に沿ってpreferenceChangedを呼び出すために実装されます。- オーバーライド:
removeUpdate
、クラスView
- パラメータ:
e
- 関連するドキュメントからの変更情報a
- ビューの現在の割当てf
- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
-
changedUpdate
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置で属性が変更されたことをドキュメントから通知します。 このメソッドは、水平軸および垂直軸の両方に沿ってpreferenceChangedを呼び出すために実装されます。- オーバーライド:
changedUpdate
、クラスView
- パラメータ:
e
- 関連するドキュメントからの変更情報a
- ビューの現在の割当てf
- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
-