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_AXISBOTTOM, 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, viewToModelgetBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParentappend, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateLayout, viewToModelpublic 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.