public abstract class TableView extends BoxView
实现一个表的视图界面,它由元素结构组成,该视图的元素的子元素负责表示行,行元素的子元素是单元格。 单元格元素可以在它们之下具有任意的元素结构,这些结构将由getViewFactory方法返回的ViewFactory构建。
TABLE
ROW
CELL
CELL
ROW
CELL
CELL
这被实现为框的层次结构,表本身是垂直框,行是水平框,单元格是垂直框。 允许单元格跨越多个列和行。 默认情况下,表格可以被认为是在网格上形成的(即有些像在gridbag布局中找到),其中表格单元可以请求跨越多个网格单元格。 表单元格的默认水平跨度将基于此网格,但可以通过重新实现单元格的请求跨度来更改(如果需要,表单元格可以具有独立跨度)。
View
Modifier and Type | Class and Description |
---|---|
class |
TableView.TableCell
已弃用
一个表单元格现在可以是任何View实现。
|
class |
TableView.TableRow
以行为中心的表格中的行的视图。
|
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 SizeRequirements |
calculateMinorAxisRequirements(int axis, SizeRequirements r)
计算短轴的要求。
|
protected TableView.TableCell |
createTableCell(Element elem)
已弃用
表格单元现在可以是任意的View实现,应该由ViewFactory而不是表生成。
|
protected TableView.TableRow |
createTableRow(Element elem)
创建一个新的表行。
|
protected void |
forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
将给定的
DocumentEvent 转发给需要通知模型更改的子视图。
|
protected View |
getViewAtPosition(int pos, Rectangle a)
获取代表模型中给定位置的子视图。
|
protected void |
layoutColumns(int targetSpan, int[] offsets, int[] spans, SizeRequirements[] reqs)
将列排出以适应给定的目标范围。
|
protected void |
layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
执行框的短轴的布局(即
|
void |
replace(int offset, int length, View[] views)
更改子视图。
|
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, modelToView, paint, paintChild, preferenceChanged, setAxis, setSize, viewToModel
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, 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 TableView(Element elem)
elem
- 此视图负责的元素
protected TableView.TableRow createTableRow(Element elem)
elem
- 一个元素
@Deprecated protected TableView.TableCell createTableCell(Element elem)
elem
- 一个元素
protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
BoxView
DocumentEvent
转发给需要通知模型更改的子视图。
如果孩子改变了要求,并且在转发盒子的一部分从开始的孩子到盒子的末尾之前分配是有效的将被重新绘制。
forwardUpdate
在
BoxView
类
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 replace(int offset, int length, View[] views)
protected void layoutColumns(int targetSpan, int[] offsets, int[] spans, SizeRequirements[] reqs)
offsets
和spans
返回结果。
targetSpan
- 所有表列的总计的给定跨度
reqs
- 每列所需的要求。
这是最小,优选和最大请求跨度的单元格的最大列数
spans
- 分配给每列的返回值
offsets
- 每列的原点偏移的返回值
protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
这是实现调用layoutColumns
方法,然后转发到超类实际执行表行的布局。
layoutMinorAxis
在
BoxView
targetSpan
- 给予视图的总跨度,这将用于布局孩子。
axis
- 轴被
axis
。
offsets
- 每个子视图的视图原点的偏移量。
这是一个返回值并通过执行此方法填充。
spans
- 每个子视图的跨度。
这是一个返回值并通过执行此方法填充。
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
这是为了将需求计算为列的要求的总和来实现的。
calculateMinorAxisRequirements
在类
BoxView
axis
- 正在研究的轴
r
- SizeRequirements
对象;
如果null
将创建一个
SizeRequirements
对象
SizeRequirements
protected View getViewAtPosition(int pos, Rectangle a)
getViewAtPosition
在
CompositeView
pos
- 搜索位置> = 0
a
- 分配到表中的条目,以及分配视图中包含退出的位置
null