public class ZoneView extends BoxView
ZoneViewは子のゾーンを実装するボックスを提供するためにBoxViewを拡張します。ゾーンはクラスのインスタンスの子という特別なView実装で、ZoneViewのインスタンスがかかわっているモデルの部分だけを表します。ゾーンは子のビューの表示の試みられるまで子ビューを生成しません。ボックス型のビューは次の理由により適しています。
デフォルトの動作は、maxZoneSizeとmaxZonesLoadedの2つのプロパティが制御しています。maxZoneSizeをInteger.MAX_VALUEに設定するとゾーンを一つしか生成しないという効果があります。そのため、ビューを効果的にデコレータ・パターンの実装へ切り替えることができます。maxZonesLoadedをInteger.MAX_VALUEの値に設定すると、ゾーンのアンロードはできません。簡単に言うと、ビューがかかわっている要素の子要素が表されている境界に生成されます。ゾーンは任意のView実装となることができますが、デフォルトの実装はかなり大きなゾーンをサポートしているAsyncBoxViewが基になります。
View
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
修飾子と型 | メソッドと説明 |
---|---|
protected View |
createZone(int p0, int p1)
このオブジェクトが扱う範囲内にあるモデル内の指定範囲内のゾーンを表すビューを生成します。
|
int |
getMaximumZoneSize()
現在のゾーン・サイズの最大値を取得します。
|
int |
getMaxZonesLoaded()
同時にロードできるゾーン数の現在の設定を取得します。
|
protected int |
getViewIndexAtPosition(int pos)
モデル内の指定された位置を表す子ビューのインデックスを返します。
|
void |
insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。
|
protected boolean |
isZoneLoaded(View zone)
ゾーンがロード状態にあるかどうかを判定します。
|
protected void |
loadChildren(ViewFactory f)
ビューを初期化するためにすべての子をロードします。
|
void |
removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。
|
void |
setMaximumZoneSize(int size)
望ましい最大ゾーン・サイズを設定します。
|
void |
setMaxZonesLoaded(int mzl)
同時にロードできるゾーン数の現在の設定を設定します。
|
protected void |
unloadZone(View zone)
ゾーンを省メモリー状態に変換して、ゾーンをアンロードします。
|
protected boolean |
updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)
スーパー・クラスの動作により、子ビューの更新が試みられます。ただし、子はゾーンであり、関連する要素の変更の影響を直接受けないため、この動作は適切ではありません。
|
protected void |
zoneWasLoaded(View zone)
ロードされるとゾーンにより呼び出されます。
|
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
append, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateLayout, viewToModel
public ZoneView(Element elem, int axis)
elem
- このビューが扱う要素axis
- View.X_AXISまたはView.Y_AXISpublic int getMaximumZoneSize()
public void setMaximumZoneSize(int size)
size
- ゾーンを小さく分割する前の、ゾーンが表す文字数。public int getMaxZonesLoaded()
public void setMaxZonesLoaded(int mzl)
mzl
が1より小さい場合はIllegalArgumentException
がスローされます。mzl
- アクティブにロードされる望ましい最大ゾーン数。0より大きい値にする必要があるIllegalArgumentException
- mzl
が1より小さい場合protected void zoneWasLoaded(View zone)
zone
- ロードされたばかりの子ビュー。protected void unloadZone(View zone)
zone
- アンロード状態に設定するのが望ましい子ビュー。protected boolean isZoneLoaded(View zone)
protected View createZone(int p0, int p1)
p0
- 望ましいゾーンの開始値。値はgetStartOffset()以上でgetEndOffset()未満であるべきです。またp1未満でもあるべきです。p1
- 望ましいゾーンの終了値。値はgetStartOffset()よりも大きくgetEndOffset()以下であるべきです。またp0よりも大きい。protected void loadChildren(ViewFactory f)
setParent
メソッドによって呼び出されます。このメソッドを再実装すると、どの子も(ゾーンによって生成されるので)直接ロードしないようにできます。このメソッドはゾーンの初期設定を生成します。ただし、実際にはゾーンの表示またはモデル座標、ビュー座標の変換の試みをするまでゾーンは設定されません。loadChildren
、クラス: CompositeView
f
- ビュー・ファクトリCompositeView.setParent(javax.swing.text.View)
protected int getViewIndexAtPosition(int pos)
getViewIndexAtPosition
、クラス: CompositeView
pos
- 位置>= 0protected boolean updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)
updateChildren
、クラス: View
ec
- このビューが扱う要素への変更情報。このメソッドが呼び出される場合はnull
にはならないe
- 関連するドキュメントからの変更情報f
- 子ビューの構築に使用するファクトリView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
, View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
, View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
insertUpdate
、クラス: View
changes
- 関連するドキュメントからの変更情報a
- ビューの現在の割当てf
- ビューが子を持つ場合に再構築に使用するファクトリView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
removeUpdate
、クラス: View
changes
- 関連するドキュメントからの変更情報a
- ビューの現在の割当てf
- ビューが子を持つ場合に再構築に使用するファクトリView.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.