|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing.text
类 CompositeView
java.lang.Object javax.swing.text.View javax.swing.text.CompositeView
- 所有已实现的接口:
- SwingConstants
- 直接已知子类:
- BoxView
-
public abstract class CompositeView
- extends View
CompositeView
是一个管理着一个或多个子视图的抽象 View
实现。(注意,CompositeView
主要管理相对较少的子视图。)CompositeView
主要充当 View
实现的起点,例如 BoxView
,它将包含子 View
。要管理子 View
集的子类应使用 replace(int, int, javax.swing.text.View[])
方法。由于 View
在 DocumentListener
通知过程中调用 replace
,所以通常不需要直接调用 replace
。
虽然 CompositeView
不会对其子 View
施加布局策略,但它允许插入将包含的子 View
。插入内容可通过 setInsets(short, short, short, short)
或 setParagraphInsets(javax.swing.text.AttributeSet)
进行设置。
除了 View
的抽象方法之外,CompositeView
的子类还需要重写:
isBefore(int, int, java.awt.Rectangle)
- 用于测试给定的View
位置是否位于CompositeView
的可视空间之前。isAfter(int, int, java.awt.Rectangle)
- 用于测试给定的View
位置是否位于CompositeView
的可视空间之后。getViewAtPoint(int, int, java.awt.Rectangle)
- 返回位于给定可视位置的视图。childAllocation(int, java.awt.Rectangle)
- 返回特定子View
的边界。getChildAllocation
在其边界减去CompositeView
的Inset
之后,将调用childAllocation
。
字段摘要 |
---|
从类 javax.swing.text.View 继承的字段 |
---|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS |
从接口 javax.swing.SwingConstants 继承的字段 |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
构造方法摘要 | |
---|---|
CompositeView(Element elem) 为给定元素构造一个 CompositeView 。 |
方法摘要 | |
---|---|
protected abstract void |
childAllocation(int index, Rectangle a) 返回给定子级的分配区域。 |
protected boolean |
flipEastAndWestAtEnds(int position, Position.Bias bias) 确定下一个视图放置的朝向。 |
protected short |
getBottomInset() 获取底部 inset。 |
Shape |
getChildAllocation(int index, Shape a) 获取要在其中呈现的给定子视图的分配区域。 |
protected Rectangle |
getInsideAllocation(Shape a) 将分配给视图的不可变分配区域转换为表示内部分配区域的可变分配区域(即给定分配区域的边界,其顶部、左部、底部和右部的 insets 已移除)。 |
protected short |
getLeftInset() 获取左部 inset。 |
protected int |
getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) 返回光标的下一个可视位置,可以在东或在西。 |
protected int |
getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) 返回光标的下一个可视位置,可以在北也可以在南。 |
int |
getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) 提供一种方法来确定下一个以可视化形式表示的模型位置,用户可以在此位置放置一个插入符。 |
protected short |
getRightInset() 获取右部 inset。 |
protected short |
getTopInset() 获取顶部 inset。 |
View |
getView(int n) 返回该容器中的第 n 个视图。 |
protected abstract View |
getViewAtPoint(int x, int y, Rectangle alloc) 获取位于给定坐标的子视图。 |
protected View |
getViewAtPosition(int pos, Rectangle a) 获取表示模型中给定位置的子视图。 |
int |
getViewCount() 返回此视图的子视图数。 |
int |
getViewIndex(int pos, Position.Bias b) 返回表示模型中给定位置的子视图索引。 |
protected int |
getViewIndexAtPosition(int pos) 获取表示模型中给定位置的子视图索引。 |
protected abstract boolean |
isAfter(int x, int y, Rectangle alloc) 测试一个点是否位于矩形范围之后。 |
protected abstract boolean |
isBefore(int x, int y, Rectangle alloc) 测试一个点是否位于矩形范围之前。 |
protected void |
loadChildren(ViewFactory f) 加载所有的子级以初始化该视图。 |
Shape |
modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) 提供从文档模型坐标空间到所映射的视图坐标空间的映射。 |
Shape |
modelToView(int pos, Shape a, Position.Bias b) 提供从文档模型坐标空间到所映射的视图坐标空间的映射。 |
void |
replace(int offset, int length, View[] views) 替换子视图。 |
protected void |
setInsets(short top, short left, short bottom, short right) 设置视图的 insets。 |
protected void |
setParagraphInsets(AttributeSet attr) 按照给定属性中指定的段落属性设置 insets。 |
void |
setParent(View parent) 设置此视图的父级。 |
int |
viewToModel(float x, float y, Shape a, Position.Bias[] bias) 提供从视图坐标空间到模型的逻辑坐标空间的映射。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
CompositeView
public CompositeView(Element elem)
-
为给定元素构造一个
CompositeView
。- 参数:
elem
- 此视图负责的元素
方法详细信息 |
---|
loadChildren
protected void loadChildren(ViewFactory f)
-
加载所有的子级以初始化该视图。它由
setParent(javax.swing.text.View)
方法调用。子类可重新实现它以便按不同的方式初始化其子视图。默认实现为每个子元素创建一个子视图。 -
- 参数:
f
- 视图工厂- 另请参见:
setParent(javax.swing.text.View)
setParent
public void setParent(View parent)
-
设置此视图的父级。重新实现此方法可提供超类行为,并可在此视图无子级的情况下调用
loadChildren
方法。不应在构造方法中加载子级,因为设置父级的动作可能引起它们试图沿层次结构向上搜索,例如,要获得承载Container
。如果此视图有子级(视图从视图层次结构中的一个位置移动到另一个位置),则不调用loadChildren
方法。 -
- 参数:
parent
- 视图的父级,如果没有则为null
getViewCount
public int getViewCount()
- 返回此视图的子视图数。
-
- 覆盖:
-
类
View
中的getViewCount
-
- 返回:
- 视图数,该数量 >= 0
- 另请参见:
getView(int)
getView
public View getView(int n)
replace
public void replace(int offset, int length, View[] views)
-
替换子视图。如果没有要移除的视图,此方法视为插入操作。如果没有要添加的视图,此方法视为移除操作。被移除的视图的父级将被设置为
null
,并且移除了对它们的内部引用,所以它们有可能被作为垃圾回收。 -
- 参数:
offset
- 要插入新视图的子视图的起始索引;该索引 >= 0 且 <= getViewCountlength
- 要移除的现有子视图数;此值应 >= 0 且 <= (getViewCount() - offset)views
- 要添加的子视图;此值可以为null
,表示不添加任何子级(对移除有用)
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
- 获取要在其中呈现的给定子视图的分配区域。这有助于获得各个视图所处的位置。
-
- 覆盖:
-
类
View
中的getChildAllocation
-
- 参数:
index
- 子级的索引,该索引 >= 0 且 < getViewCount()a
- 对此视图的分配区域- 返回:
- 子级的分配区域
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
- 提供从文档模型坐标空间到所映射的视图坐标空间的映射。
-
- 指定者:
-
类
View
中的modelToView
-
- 参数:
pos
- 要转换的位置,该位置 >= 0a
- 要在其中呈现的已分配区域b
- 一个偏移值,可以是Position.Bias.Forward
或Position.Bias.Backward
- 返回:
- 给定位置的边界框
- 抛出:
BadLocationException
- 如果给定位置不是相关文档中的有效位置- 另请参见:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)