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, 2013, Oracle and/or its affiliates. All rights reserved.