JavaTM Platform
Standard Ed. 6

javax.swing.text
类 TableView

java.lang.Object
  继承者 javax.swing.text.View
      继承者 javax.swing.text.CompositeView
          继承者 javax.swing.text.BoxView
              继承者 javax.swing.text.TableView
所有已实现的接口:
SwingConstants

public abstract class TableView
extends BoxView

为某个表实现 View 接口,这由一个元素结构组成,其中此视图负责的元素的子元素表示行,而行元素的子元素为单元格。在单元格元素下可以有任意的元素结构,这将由通过 getViewFactory 方法返回的 ViewFactory 来构建。


    表
      行
        单元格
        单元格
      行
        单元格
        单元格

 

此类实现为一个框的层次,表本身是垂直框,行是水平框,单元格是垂直框。单元格允许跨越多个列和行。在默认情况下,表可认为是在网格之上形成的(即可以在网格包布局中找到类似物),其中表单元格能请求跨越多个网格单元格。默认情况下,表单元格的水平跨距以此网格为基础,但是可以通过重新实现所请求的单元格跨距来更改(即需要时表单元格可以具有独立的跨距)。

另请参见:
View

嵌套类摘要
 class TableView.TableCell
          已过时。 表单元格如今可以是任何 View 实现。
 class TableView.TableRow
          以行为中心的表格中的行视图。
 
字段摘要
 
从类 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
 
构造方法摘要
TableView(Element elem)
          针对给定的元素构造一个 TableView。
 
方法摘要
protected  SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
          计算辅轴的所需大小。
protected  TableView.TableCell createTableCell(Element elem)
          已过时。 现在表单元格可以是任意视图实现并且应该由 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)
          更改子视图。
 
从类 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
 
从类 javax.swing.text.CompositeView 继承的方法
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent
 
从类 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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

TableView

public TableView(Element elem)
针对给定的元素构造一个 TableView。

参数:
elem - 此视图所负责的元素
方法详细信息

createTableRow

protected TableView.TableRow createTableRow(Element elem)
创建新的表格行。

参数:
elem - 元素
返回:

createTableCell

@Deprecated
protected TableView.TableCell createTableCell(Element elem)
已过时。 现在表单元格可以是任意视图实现并且应该由 ViewFactory 而不是表来产生。

参数:
elem - 元素
返回:
单元格

forwardUpdate

protected void forwardUpdate(DocumentEvent.ElementChange ec,
                             DocumentEvent e,
                             Shape a,
                             ViewFactory f)
从类 BoxView 复制的描述
将给定的 DocumentEvent 转发给需要接收模型更改通知的子视图。如果有一个子级更改了它的要求并且在转发前分配为有效,则框中从开始子级到框结束部分将被重新绘制。

覆盖:
BoxView 中的 forwardUpdate
参数:
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)
更改子视图。实现此方法来提供超类的行为并且使网格无效,以便对行和列进行重新计算。

覆盖:
BoxView 中的 replace
参数:
offset - 要插入新视图的子视图的开始索引;其值 >= 0 且 <= getViewCount
length - 要移除的现有子视图数;其值 >= 0 且 <= (getViewCount() - offset)
views - 要添加的子视图;此值可以为 null,表示没有要添加的子级(对移除有用)

layoutColumns

protected void layoutColumns(int targetSpan,
                             int[] offsets,
                             int[] spans,
                             SizeRequirements[] reqs)
布局列,使其符合给定的目标跨距。通过 offsetsspans 返回结果。

参数:
targetSpan - 所有表格列总的给定跨距
reqs - 每一列的所需大小。此参数是请求最小、首选、最大跨距的单元的列最大值
spans - 分配给每一列的量的返回值
offsets - 距每一列起始点的偏移量的返回值

layoutMinorAxis

protected void layoutMinorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)
针对框的辅轴(即垂直于其所表示的轴的轴)执行布局操作。布局的结果应当置于给定数组中,该数组对子级沿辅轴的位置分配。只要布局需要沿辅轴进行更新,超类便调用此方法。

实现此方法来调用 layoutColumns 方法,然后转发给超类来实际执行表格行的布局。

覆盖:
BoxView 中的 layoutMinorAxis
参数:
targetSpan - 给视图的总跨距,将用于对子级的布局。
axis - 要布局的轴。
offsets - 距每个子视图的视图起始处的偏移量。这是一个返回值,由此方法的实现填写。
spans - 每个子视图的跨距。这是一个返回值,由此方法的实现填写。

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)
计算辅轴的所需大小。只要所需大小需要更新(即一个 preferenceChanged 传给了此视图),超类便调用此方法。

实现此方法来计算作为列的所需大小之和的所需大小。

覆盖:
BoxView 中的 calculateMinorAxisRequirements
参数:
axis - 所考察的轴
r - SizeRequirements 对象;如果为 null,将创建一个对象
返回:
新初始化的 SizeRequirements 对象
另请参见:
SizeRequirements

getViewAtPosition

protected View getViewAtPosition(int pos,
                                 Rectangle a)
获取表示模型中给定位置的子视图。实现此方法以通过遍历子级来查找包含给定位置的范围。在此视图中,子级与子元素无须具有一一对应的映射。

覆盖:
CompositeView 中的 getViewAtPosition
参数:
pos - 查找位置,该值 >= 0
a - 入口处表的分配和出口处包含该位置的视图的分配
返回:
表示给定位置的视图,如果不存在则返回 null

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策