public class ZoneView extends BoxView
zoneview延伸boxview提供箱实现带孩子。该区特殊的视图的实现(这个类的一个实例的孩子),只代表ZoneView的模型实例负责一部分。区域不要创建子视图,直到尝试显示它们为止。一个框形的视图非常适合这个,因为:
默认行为是由两个属性控制,maxzonesize和maxzonesloaded。设置maxzonesize到integer.max_value会导致只有一个区要创建的效果。这将有效地把视野引入装饰者模式的实现。设置一个值maxzonesloaded integer.max_value会造成区永远卸。为简单起见,区域被创建在由元素的子元素表示的边界上,视图负责。区域可以实现任何观点,但默认的实现是基于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
Modifier and Type | Method and Description |
---|---|
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_axis
public 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
--位置> = 0
protected 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)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.