public class BoxView extends CompositeView
每个轴布局的方法layoutMajorAxis
和layoutMinorAxis
分别办理。子类可以重新实现这些方法改变布局算法。这些方法将被称为必要的,取决于是否有缓存的布局信息和缓存被认为是有效的。这些方法通常被称为如果给定的轴向尺寸变化,或者如果layoutChanged
称为强制更新的布局。layoutChanged
方法无效的缓存布局信息,如果有任何。要求发布到父视图的方法calculateMajorAxisRequirements
和calculateMinorAxisRequirements
计算。如果布局算法的改变,这些方法可能会需要重新实现。
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 void |
baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)
计算位置和每个子视图的程度在这
BoxView 给予
targetSpan ,它的宽度(或高度)的地区,我们的工作。
|
protected SizeRequirements |
baselineRequirements(int axis, SizeRequirements r)
计算这
BoxView 尺寸要求通过检查每个子视图的大小。
|
protected SizeRequirements |
calculateMajorAxisRequirements(int axis, SizeRequirements r)
计算主轴
axis 尺寸要求。
|
protected SizeRequirements |
calculateMinorAxisRequirements(int axis, SizeRequirements r)
计算短轴
axis 尺寸要求。
|
protected void |
childAllocation(int index, Rectangle alloc)
分配子视图的区域。
|
protected boolean |
flipEastAndWestAtEnds(int position, Position.Bias bias)
确定下一个视图的方向。
|
protected void |
forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
提出了
DocumentEvent ,需要通知的变化对模型的子视图。
|
float |
getAlignment(int axis)
沿着一个轴确定此视图所需的对齐方式。
|
int |
getAxis()
取瓦轴属性。
|
Shape |
getChildAllocation(int index, Shape a)
获取给定的子视图的配置。
|
int |
getHeight()
返回框的当前高度。
|
float |
getMaximumSpan(int axis)
沿着一个轴确定该视图的最大跨度。
|
float |
getMinimumSpan(int axis)
沿着一个轴确定该视图的最小间距。
|
protected int |
getOffset(int axis, int childIndex)
取某个孩子的当前布局中的偏移量。
|
float |
getPreferredSpan(int axis)
沿着一个轴确定该视图的首选跨度。
|
int |
getResizeWeight(int axis)
获取调整大小重量。
|
protected int |
getSpan(int axis, int childIndex)
取一个特定的孩子的当前布局跨度。
|
protected View |
getViewAtPoint(int x, int y, Rectangle alloc)
把孩子的观点在给定的坐标。
|
int |
getWidth()
返回框的当前宽度。
|
protected boolean |
isAfter(int x, int y, Rectangle innerAlloc)
确定一个点是否在分配的区域后下降。
|
protected boolean |
isAllocationValid()
儿童的分配仍然有效吗?
|
protected boolean |
isBefore(int x, int y, Rectangle innerAlloc)
确定在分配区域之前是否有一个点。
|
protected boolean |
isLayoutValid(int axis)
确定布局是否沿着给定的轴有效。
|
protected void |
layout(int width, int height)
在盒子上执行布局
|
void |
layoutChanged(int axis)
沿轴线布局无效。
|
protected void |
layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
执行框的主要轴的布局(即
|
protected void |
layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
执行框的小轴的布局(即
|
Shape |
modelToView(int pos, Shape a, Position.Bias b)
提供从文档模型坐标空间到映射到它的视图的坐标空间的映射。
|
void |
paint(Graphics g, Shape allocation)
使
BoxView 使用给定的表面绘制和面积,表面。
|
protected void |
paintChild(Graphics g, Rectangle alloc, int index)
画一个孩子。
|
void |
preferenceChanged(View child, boolean width, boolean height)
这是由一个孩子来表示它的首选跨度改变了。
|
void |
replace(int index, int length, View[] elems)
无效的布局和大小的请求/分配缓存。
|
void |
setAxis(int axis)
设置瓷砖轴属性。
|
void |
setSize(float width, float height)
设置视图的大小。
|
int |
viewToModel(float x, float y, Shape a, Position.Bias[] bias)
从视图坐标空间提供一个映射到模型的逻辑坐标空间。
|
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent
append, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, updateChildren, updateLayout, viewToModel
public BoxView(Element elem, int axis)
BoxView
。
elem
-元这一观点负责
axis
-
View.X_AXIS
或
View.Y_AXIS
public int getAxis()
View.X_AXIS
或
View.Y_AXIS
public void setAxis(int axis)
axis
-
View.X_AXIS
或
View.Y_AXIS
public void layoutChanged(int axis)
setSize
方法称为基于这种观点(通常在油漆)。
axis
-
View.X_AXIS
或
View.Y_AXIS
protected boolean isLayoutValid(int axis)
axis
-
View.X_AXIS
或
View.Y_AXIS
protected void paintChild(Graphics g, Rectangle alloc, int index)
g
-图形上下文
alloc
-分配区域涂成
index
-孩子指数> = 0和<getviewcount()
public void replace(int index, int length, View[] elems)
replace
方法重写,继承类
CompositeView
index
的起始索引到子视图插入新的观点;这应该是一个价值> = 0 < = getviewcount
length
-删除现有的子视图的数量;这应该是一个价值> = 0 < =(getviewcount()偏移)
elems
-子视图添加;这个值可以
null
to表示没有孩子被添加(有用的去除)
protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
DocumentEvent
,需要通知的变化对模型的子视图。如果一个孩子改变了要求和分配是有效的转发框的部分从孩子到盒结束前将油漆。
forwardUpdate
方法重写,继承类
View
ec
-更改元素这一观点负责(可能是
null
如果没有变化)
e
-从相关文档的变更信息
a
-视图的当前配置
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 preferenceChanged(View child, boolean width, boolean height)
preferenceChanged
方法重写,继承类
View
child
-子视图
width
-如果宽度优先应该改变
height
-如果身高偏好应该改变
JComponent.revalidate()
public int getResizeWeight(int axis)
getResizeWeight
方法重写,继承类
View
axis
-可能是
View.X_AXIS
或
View.Y_AXIS
IllegalArgumentException
-无效的轴
public void setSize(float width, float height)
public void paint(Graphics g, Shape allocation)
BoxView
使用给定的表面绘制和面积,表面。只有孩子的
Graphics
相交将剪辑的界限。
paint
方法重写,继承类
View
g
-绘制表面使用
allocation
-分配区域进行渲染
View.paint(java.awt.Graphics, java.awt.Shape)
public Shape getChildAllocation(int index, Shape a)
null
,否则执行父类的行为。
getChildAllocation
方法重写,继承类
CompositeView
index
-孩子的指数,>=0和> getviewcount()
a
-配置这一观点
null
如果
a
是
null
;或
null
如果布局是无效的
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
modelToView
方法重写,继承类
CompositeView
pos
-位置转换> = 0
a
-分配区域进行渲染
b
-一个
Position.Bias.Forward
或
Position.Bias.Backward
偏置值
BadLocationException
-如果给定的位置不在相关文件表示一个有效的位置
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
viewToModel
方法重写,继承类
CompositeView
x
-视图位置的x坐标转换> = 0
y
- y的角度位置坐标转换> = 0
a
-分配区域进行渲染
bias
-
Position.Bias.Forward
或
Position.Bias.Backward
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
public float getAlignment(int axis)
getAlignment
方法重写,继承类
View
axis
-可能是
View.X_AXIS
或
View.Y_AXIS
IllegalArgumentException
-无效的轴
public float getPreferredSpan(int axis)
getPreferredSpan
方法重写,继承类
View
axis
-可能是
View.X_AXIS
或
View.Y_AXIS
IllegalArgumentException
-无效的轴型
View.getPreferredSpan(int)
public float getMinimumSpan(int axis)
getMinimumSpan
方法重写,继承类
View
axis
-可能是
View.X_AXIS
或
View.Y_AXIS
IllegalArgumentException
-无效的轴型
View.getPreferredSpan(int)
public float getMaximumSpan(int axis)
getMaximumSpan
方法重写,继承类
View
axis
-可能是
View.X_AXIS
或
View.Y_AXIS
IllegalArgumentException
-无效的轴型
View.getPreferredSpan(int)
protected boolean isAllocationValid()
protected boolean isBefore(int x, int y, Rectangle innerAlloc)
isBefore
方法重写,继承类
CompositeView
x
- x坐标> = 0
y
- Y坐标> = 0
innerAlloc
-分配的区域;这个区域里面的插图
protected boolean isAfter(int x, int y, Rectangle innerAlloc)
isAfter
方法重写,继承类
CompositeView
x
- x坐标> = 0
y
- Y坐标> = 0
innerAlloc
-分配的区域;这个区域里面的插图
protected View getViewAtPoint(int x, int y, Rectangle alloc)
getViewAtPoint
方法重写,继承类
CompositeView
x
- x坐标> = 0
y
- Y坐标> = 0
alloc
-父母内配置的入门,应改为孩子的分配退出
protected void childAllocation(int index, Rectangle alloc)
childAllocation
方法重写,继承类
CompositeView
index
-子视图分配指标,>=0和<getviewcount()
alloc
-分配区域
protected void layout(int width, int height)
width
-宽度(里面的插图)> = 0
height
-高度(里面的插图)> = 0
public int getWidth()
public int getHeight()
protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
targetSpan
-总跨度给视图,可用于布局的孩子
axis
-轴布置
offsets
为每个子视图从视图原点的偏移量;这是一个返回值,由该方法的实现
spans
-每个子视图的跨越;这是一个返回值,由该方法的实现
protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
targetSpan
-总跨度给视图,可用于布局的孩子
axis
-轴布置
offsets
为每个子视图从视图原点的偏移量;这是一个返回值,由该方法的实现
spans
-每个子视图的跨越;这是一个返回值,由该方法的实现
protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
axis
。
axis
-轴的研究
r
-
SizeRequirements
对象;如果
null
将会创建一个
SizeRequirements
对象初始化
SizeRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
axis
尺寸要求。
axis
-轴的研究
r
-
SizeRequirements
对象;如果
null
将会创建一个
SizeRequirements
对象初始化
SizeRequirements
protected void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)
BoxView
给予
targetSpan
,它的宽度(或高度)的地区,我们的工作。
targetSpan
-总跨度给视图,可用于布局的孩子
axis
-轴的研究,无论是
View.X_AXIS
或
View.Y_AXIS
offsets
-空数组填充该方法指定每个子视图的位置
spans
-空数组填充该方法指定每个子视图的程度
protected SizeRequirements baselineRequirements(int axis, SizeRequirements r)
BoxView
尺寸要求通过检查每个子视图的大小。
axis
-轴的研究
r
-
SizeRequirements
对象;如果
null
将会创建一个
SizeRequirements
对象初始化
protected int getOffset(int axis, int childIndex)
axis
-轴的研究
childIndex
-要求的子指标
protected int getSpan(int axis, int childIndex)
axis
-轴的研究
childIndex
-要求的子指标
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
View
s布局从左到右的考虑,使
View
向东将在指数n + 1,和
View
向西将指数n - 1。在某些情况下,如双向文本,它是可能的,
View
东不在指数n + 1,而是在指数n - 1,或者说,
View
向西是不是指数n - 1,但指数n + 1。在这种情况下,此方法将返回true,表示
View
s布局排列。否则,方法将虚假表示
View
s布局升序返回。
如果接收器是奠定其在Y_AXIS
View
s,这将从调用负责绘制position
和bias
的View
方法返回的值。否则这将返回错误。
flipEastAndWestAtEnds
方法重写,继承类
CompositeView
position
位置到模型
bias
-
Position.Bias.Forward
或
Position.Bias.Backward
View
渲染
position
和
bias
响应
View
s布局依次为真;否则为false
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.