クラスGlyphView
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
-
ネストされたクラスのサマリー
ネストされたクラス -
フィールドのサマリー
クラスビューで宣言されたフィールド
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS修飾子と型フィールド説明static final intフォーマット目的とするには不完全な分割の機会であるビューを示すウエイトです。static final int分割をサポートしているビューを示すウエイトで、分割するのに適した位置であることを表わしています。static final int分割をサポートしているビューを示すウエイトで、子を分割することで子をフォーマットするビューに配置されている場合に、ビューを正しく表わすには分割しなければいけません。static final int分割をサポートしているビューを示すウエイトですが、もっと良い機会が存在する可能性があります。static final intフォーマット/分割処理の軸です。static final intフォーマット/分割処理の軸です。インタフェースで宣言されたフィールド SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST修飾子と型フィールド説明static final intボックスの下端を指定するために使用するボックス配置定数です。static final int領域内の中央位置です。static final int東(右)の方角です。static final int水平方向です。static final int左から右に記述する言語および右から左に記述する言語で使用するテキストのリーディング・エッジを指定します。static final intボックスの左端を指定するために使用するボックス配置定数です。static final intシーケンス内の次の方向を指定します。static final int北(上)の方角です。static final int北東(右上)の方角です。static final int北西(左上)の方角です。static final intシーケンス内の前の方向を指定します。static final intボックスの右端を指定するために使用するボックス配置定数です。static final int南(下)の方角です。static final int南東(右下)の方角です。static final int南西(左下)の方角です。static final intボックスの上端を指定するために使用するボックス配置定数です。static final int左から右に記述する言語および右から左に記述する言語で使用するテキストのトレーリング・エッジを指定します。static final int垂直方向です。static final int西(左)の方角です。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明breakView(int axis, int p0, float pos, float len) 指定された軸および指定された長さでこのビューを分割します。voidchangedUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置で属性が変更されたことをドキュメントから通知します。protected voidグリフ・ペインタが存在するかどうかを調べます。protected final Objectclone()シャロー・コピーを作成します。createFragment(int p0, int p1) 要素の一部分を表すビューを作成します。floatgetAlignment(int axis) 軸に沿ったこのビューの望ましいレイアウトを決定します。グリフの描画に使用するバックグラウンド・カラーを取得します。intgetBreakWeight(int axis, float pos, float len) このビューで分割のウエイトがどのくらい適切かを示します。intこのビューが扱うモデルの一部を取得します。getFont()グリフのベースとなるフォントを取得します。グリフの描画に使用するフォアグラウンド・カラーを取得します。現在インストールされているグリフ・ペインタを取得します。floatgetMinimumSpan(int axis) このビューの最小スパンを軸に沿って指定します。intgetNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。floatgetPartialSpan(int p0, int p1) ビューの一部のため、タブ拡張と同じ軸に沿ったスパンを指定します。floatgetPreferredSpan(int axis) このビューに適切なスパンを軸に沿って指定します。intこのビューが扱うモデルの一部を取得します。floatgetTabbedSpan(float x, TabExpander e) 指定されたタブ展開の実装を使うときに望ましいスパンを指定します。タブがこのビューに存在する場合に使うTabExpanderを取得します。getText(int p0, int p1) 指定された範囲を占めるテキストへの参照を取得します。voidinsertUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。booleanグリフが取消し線を持つかどうかを決定します。booleanグリフを上付き文字として描画するかどうかを決定します。booleanグリフを下付き文字として描画するかどうかを決定します。booleanグリフに下線を付けるかどうかを決定します。modelToView(int pos, Shape a, Position.Bias b) ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。void一連のテキスト・スタイルの一部をレンダリングします。voidremoveUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。voidグリフの描画に使用するペインタを設定します。intviewToModel(float x, float y, Shape a, Position.Bias[] biasReturn) ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。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修飾子と型メソッド説明void1つの子ビューを追加します。protected void指定されたDocumentEventを、モデルへの変更について通知する必要のある子ビューに転送します。protected voidforwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f) 指定された子ビューにDocumentEventを転送します。描画するときに使用する属性を取得します。getChildAllocation(int index, Shape a) 指定された子ビューの割り当てを取得します。ビューを収容するコンテナを取得します。ビューに関連したモデルを取り出します。このビューがマッピングされる対象の構造部分を取り出します。レンダリングのためのGraphicsを取得します。floatgetMaximumSpan(int axis) このビューの最大スパンを軸に沿って指定します。ビューの親を返します。intgetResizeWeight(int axis) 指定された軸に沿ってビューのサイズを変更できるかどうかを指定します。getToolTipText(float x, float y, Shape allocation) 指定された位置にあるツールヒントのテキストを返します。getView(int n) n番目の子ビューを取得します。intこのビュー内のビューの数を返します。ビュー階層を供給しているViewFactoryの実装を取り出します。intgetViewIndex(float x, float y, Shape allocation) ビュー内の指定された位置を表す子ビュー・インデックスを返します。intgetViewIndex(int pos, Position.Bias b) モデル内の指定された位置を表す子ビューのインデックスを返します。void1つの子ビューを挿入します。booleanビューが可視かどうかを示すboolean型の値を返します。modelToView(int pos, Shape a) 非推奨。modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) 指定した範囲について、ドキュメント・モデル座標空間からビュー座標空間へのマッピングを提供します。voidpreferenceChanged(View child, boolean width, boolean height) 子ビューは親でこのメソッドを呼び出し、設定が変更されたこと、および再度レイアウトが考慮されなければならないことを示すことができます。voidremove(int i) 指定された位置にある子を1つ削除します。voidすべての子を削除します。void子ビューを置換します。voidこのビューの親ビューを確立します。voidsetSize(float width, float height) ビューのサイズを設定します。protected booleanモデルが変更されたという通知を受け取ると、子ビューを更新します。このビューが扱う要素の変更記録があります。protected voidモデルから変更の通知を受け取った場合に、レイアウトを更新します。intviewToModel(float x, float y, Shape a) 非推奨。クラスオブジェクトで宣言されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
GlyphView
-
-
メソッドの詳細
-
clone
-
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の場合、ベースラインに下線を描画する必要があります。- 戻り値:
- グリフに下線を引く場合は
true、下線を引く場合はfalse
-
isStrikeThrough
public boolean isStrikeThrough()グリフが取消し線を持つかどうかを決定します。trueの場合、グリフの中心に線を描画する必要があります。- 戻り値:
- グリフに取消し線がある場合は
true、それ以外の場合はfalse
-
isSubscript
public boolean isSubscript()グリフを上付き文字として描画するかどうかを決定します。- 戻り値:
- グリフを上付き文字としてレンダリングする場合は
true、それ以外の場合はfalse
-
isSuperscript
public boolean isSuperscript()グリフを下付き文字として描画するかどうかを決定します。- 戻り値:
- グリフを添字としてレンダリングする場合は
true、それ以外の場合はfalse
-
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- 変換対象の位置b- バイアスa- 描画するために割り当てられた領域direction- 現在位置からの方向。キーボードに通常見られる矢印キーと見なすことができる。 SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH、またはSwingConstants.SOUTHになる。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- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
-