public class GlyphView extends View implements TabableView, Cloneable
このビューは、書式を整えるために分割をサポートしています。分割によってできたフラグメントは、その要素の直接的な責任を持つビューを共有します。すなわち、各フラグメントはネストされたクラスであり、それ自体の状態は最小限しか持ちません。このため、各フラグメントはそのリソースを共有できます。
このビューは、タブが埋め込まれたテキストを表現することもあるので、TabableView
インタフェースを実装します。タブが展開されるのは、タブの展開を行うコンテナにこのビューが埋め込まれている場合だけです。タブ展開を行うコンテナとしては、ParagraphView などがあります。
修飾子と型 | クラスと説明 |
---|---|
static class |
GlyphView.GlyphPainter
グリフの描画を行うクラスです。
|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
修飾子と型 | メソッドと説明 |
---|---|
View |
breakView(int axis, int p0, float pos, float len)
指定された軸および指定された長さでこのビューを分割します。
|
void |
changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
このビューが扱う位置で属性が変更されたことをドキュメントから通知します。
|
protected void |
checkPainter()
グリフペインタが存在するかどうかを調べます。
|
protected Object |
clone()
シャローコピーを作成します。
|
View |
createFragment(int p0, int p1)
要素の一部分を表すビューを作成します。
|
float |
getAlignment(int axis)
軸に沿ったこのビューの望ましいレイアウトを決定します。
|
Color |
getBackground()
グリフの描画に使用するバックグラウンドカラーを取得します。
|
int |
getBreakWeight(int axis, float pos, float len)
このビューで分割のウェイトがどのくらい適切かを示します。
|
int |
getEndOffset()
このビューが扱うモデルの一部を取得します。
|
Font |
getFont()
グリフのベースとなるフォントを取得します。
|
Color |
getForeground()
グリフの描画に使用するフォアグラウンドカラーを取得します。
|
GlyphView.GlyphPainter |
getGlyphPainter()
現在インストールされているグリフペインタを取得します。
|
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 |
getStartOffset()
このビューが扱うモデルの一部を取得します。
|
float |
getTabbedSpan(float x, TabExpander e)
指定されたタブ展開の実装を使うときに望ましいスパンを指定します。
|
TabExpander |
getTabExpander()
タブがこのビューに存在する場合に使う TabExpander を取得します。
|
Segment |
getText(int p0, int p1)
指定された範囲を占めるテキストへの参照を取得します。
|
void |
insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。
|
boolean |
isStrikeThrough()
グリフが取り消し線を持つかどうかを決定します。
|
boolean |
isSubscript()
グリフを上付き文字として描画するかどうかを決定します。
|
boolean |
isSuperscript()
グリフを下付き文字として描画するかどうかを決定します。
|
boolean |
isUnderline()
グリフに下線を付けるかどうかを決定します。
|
Shape |
modelToView(int pos, Shape a, Position.Bias b)
ドキュメントモデルの座標空間からビューの座標空間へのマッピングを提供します。
|
void |
paint(Graphics g, Shape a)
一連のテキストスタイルの一部をレンダリングします。
|
void |
removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。
|
void |
setGlyphPainter(GlyphView.GlyphPainter p)
グリフの描画に使用するペインタを設定します。
|
int |
viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)
ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。
|
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
public GlyphView(Element elem)
elem
- 要素protected final Object clone()
public GlyphView.GlyphPainter getGlyphPainter()
public void setGlyphPainter(GlyphView.GlyphPainter p)
public Segment getText(int p0, int p1)
p0
- ドキュメントの開始オフセット >= 0p1
- ドキュメントの終了オフセット >= p0Segment
public Color getBackground()
StyledDocument.getBackground
を呼び出すのに実装され、そうでない場合は null を返します。public Color getForeground()
StyledDocument.getBackground
を呼び出すのに実装されます。関連するドキュメントが StyledDocument でない場合は、関連するコンポーネントのフォアグラウンドカラーが使用されます。関連するドキュメントがない場合は null が返されます。public Font getFont()
StyledDocument.getFont
を呼び出すのに実装されます。関連するドキュメントが StyledDocument でない場合は、関連するコンポーネントのフォントが使用されます。関連するドキュメントがない場合は null が返されます。public boolean isUnderline()
public boolean isStrikeThrough()
public boolean isSubscript()
public boolean isSuperscript()
public TabExpander getTabExpander()
protected void checkPainter()
public float getTabbedSpan(float x, TabExpander e)
getTabbedSpan
、インタフェース: TabableView
x
- タブ展開のためにビューが配置される位置 >= 0。e
- タブを検出したときにタブを展開する方法。TabableView.getTabbedSpan(float, javax.swing.text.TabExpander)
public float getPartialSpan(int p0, int p1)
このメソッドは、getTabbedSpan または getPreferredSize のサービス中に呼び出すことができます。サイズを測定するために、それ自身のテキストバッファーを準備する必要があります。
getPartialSpan
、インタフェース: TabableView
p0
- ドキュメントの開始オフセット >= 0p1
- ドキュメントの終了オフセット >= p0public int getStartOffset()
getStartOffset
、クラス: View
View.getStartOffset()
public int getEndOffset()
getEndOffset
、クラス: View
View.getEndOffset()
public float getMinimumSpan(int axis)
この実装は、ビュー内で分割できないもっとも長い領域を View.X_AXIS
の最小スパンとして返します。
getMinimumSpan
、クラス: View
axis
- View.X_AXIS
または View.Y_AXIS
IllegalArgumentException
- axis
パラメータが無効の場合View.getMinimumSpan(int)
public float getPreferredSpan(int axis)
getPreferredSpan
、クラス: View
axis
- View.X_AXIS または View.Y_AXISView.getPreferredSpan(int)
public float getAlignment(int axis)
getAlignment
、クラス: View
axis
- View.X_AXIS または View.Y_AXISpublic 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)
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 番目の要素として返されるView.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
public int getBreakWeight(int axis, float pos, float len)
breakView
を呼び出すもっとも適切なビューを判断するために使用できます。ウェイトが高いほど、分割にはより適切です。値が View.BadBreakWeight
以下の場合は、分割対象とはなりません。値が View.ForcedBreakWeight
以上の場合は、分割されます。
View.X_AXIS または View.Y_AXISX_AXIS については、次に示す値が返される可能性があります。
getBreakWeight
、クラス: View
axis
- View.X_AXIS または View.Y_AXISpos
- 分割されたビューの開始の可能性のある位置。0 以上。これはタブ位置の計算に便利な場合がある。len
- 分割が必要な pos からの相対的な長さを指定する。0 以上。LabelView
, ParagraphView
, View.BadBreakWeight
, View.GoodBreakWeight
, View.ExcellentBreakWeight
, View.ForcedBreakWeight
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)
public View createFragment(int p0, int p1)
このビューは、フラグメント化をサポートしています。この実装により、このビューの状態を共有する、ビューの一部分だけを表す入れ子になっているクラスを返すことができます。
createFragment
、クラス: View
p0
- 開始オフセット。0 以上。要素の開始オフセットに等しいか、それより大きい値で、要素の終了オフセットより小さい値にする。p1
- 終了オフセット。p0 より大きい。要素の開始オフセットより大きく、要素の終了オフセットに等しいか、それより小さい値にする。LabelView
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
getNextVisualPositionFrom
、クラス: View
pos
- 変換対象の位置 >= 0a
- 描画するために割り当てられた領域direction
- 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができます。これは、キーボードに通常存在する矢印キーと見なすことができ、SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH、または SwingConstants.SOUTH になる。BadLocationException
IllegalArgumentException
- 方向が無効な場合public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
insertUpdate
、クラス: View
e
- 関連するドキュメントからの変更情報a
- ビューの現在の割り当てf
- ビューが子を持つ場合に再構築に使用するファクトリView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
removeUpdate
、クラス: View
e
- 関連するドキュメントからの変更情報a
- ビューの現在の割り当てf
- ビューが子を持つ場合に再構築に使用するファクトリView.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
changedUpdate
、クラス: View
e
- 関連するドキュメントからの変更情報a
- ビューの現在の割り当てf
- ビューが子を持つ場合に再構築に使用するファクトリView.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.