- java.lang.Object
-
- javax.swing.text.View
-
- javax.swing.text.CompositeView
-
- javax.swing.text.BoxView
-
- javax.swing.text.TableView
-
- All Implemented Interfaces:
-
SwingConstants
public abstract class TableView extends BoxView
实现一个表的视图界面,它由元素结构组成,该视图的元素的子元素负责表示行,行元素的子元素是单元格。 单元格元素可以在它们之下具有任意的元素结构,这些结构将由getViewFactory方法返回的ViewFactory构建。
TABLE ROW CELL CELL ROW CELL CELL
这被实现为框的层次结构,表本身是垂直框,行是水平框,单元格是垂直框。 允许单元格跨越多个列和行。 默认情况下,表格可以被认为是在网格上形成的(即有些像在gridbag布局中找到),其中表格单元可以请求跨越多个网格单元格。 表单元格的默认水平跨度将基于此网格,但可以通过重新实现单元格的请求跨度来更改(如果需要,表单元格可以具有独立跨度)。
- 另请参见:
-
View
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 class
TableView.TableCell
已过时。一个表单元格现在可以是任何View实现。class
TableView.TableRow
以行为中心的表格中的行的视图。
-
Field Summary
-
Fields inherited from interface 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
-
Fields inherited from class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
-
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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)
更改子视图。-
Methods inherited from class javax.swing.text.BoxView
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
-
Methods inherited from class javax.swing.text.CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class javax.swing.text.View
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
-
-
-
-
构造方法详细信息
-
TableView
public TableView(Element elem)
为给定元素构造TableView。- 参数
-
elem
- 该视图负责的元素
-
-
方法详细信息
-
createTableRow
protected TableView.TableRow createTableRow(Element elem)
创建一个新的表行。- 参数
-
elem
- 一个元素 - 结果
- 行
-
createTableCell
@Deprecated protected TableView.TableCell createTableCell(Element elem)
已过时。 表格单元现在可以是任意的View实现,应该由ViewFactory而不是表生成。- 参数
-
elem
- 一个元素 - 结果
- 细胞
-
forwardUpdate
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)
-
replace
public void replace(int offset, int length, View[] views)
更改子视图。 这被实现以提供超类行为并使网格无效,以便重新计算行和列。
-
layoutColumns
protected void layoutColumns(int targetSpan, int[] offsets, int[] spans, SizeRequirements[] reqs)
将列排出以适应给定的目标范围。 通过offsets
和spans
返回结果。- 参数
-
targetSpan
- 所有表列的总计的给定范围 -
reqs
- 每列所需的要求。 这是最小,优选和最大请求跨度的单元格的最大列数 -
spans
- 分配给每列的返回值 -
offsets
- 每列的原点偏移的返回值
-
layoutMinorAxis
protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
执行框的短轴的布局(即与其所表示的轴正交的轴)。 布局的结果应放在给定的数组中,这些数组表示沿着短轴分配给子项。 每当布局需要沿着短轴更新时,超类就会调用这个方法。这是实现调用
layoutColumns
方法,然后转发到超类来实际执行表行的布局。- 重写:
-
layoutMinorAxis
在BoxView
- 参数
-
targetSpan
- 给予视图的总跨度,用于布局孩子。 -
axis
- 轴被axis
。 -
offsets
- 每个子视图的视图原点的偏移量。 这是一个返回值并通过执行此方法填充。 -
spans
- 每个子视图的跨度。 这是一个返回值并通过执行此方法填充。
-
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
计算短轴的要求。 当需求需要更新时,这被超类调用(即,一个preferencesChanged被通过这个视图消息)。这是为了将需求计算为列的要求的总和来实现的。
- 重写:
-
calculateMinorAxisRequirements
在BoxView
- 参数
-
axis
- 正在研究的轴 -
r
-SizeRequirements
对象; 如果null
将创建一个 - 结果
-
新初始化的
SizeRequirements
对象 - 另请参见:
-
SizeRequirements
-
getViewAtPosition
protected View getViewAtPosition(int pos, Rectangle a)
获取代表模型中给定位置的子视图。 这是为了走过孩子们寻找包含给定位置的范围。 在这种观点中,孩子们不一定要与子元素进行一对一的映射。- 重写:
-
getViewAtPosition
在CompositeView
- 参数
-
pos
- 搜索位置> = 0 -
a
- 分配到表中的条目,以及分配视图中包含退出的位置 - 结果
-
表示给定位置的视图,如果没有,
null
-
-