JavaTM 2 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 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only