JavaTM 2 Platform
Standard Ed. 6

javax.swing.text
類別 FlowView

java.lang.Object
  繼承者 javax.swing.text.View
      繼承者 javax.swing.text.CompositeView
          繼承者 javax.swing.text.BoxView
              繼承者 javax.swing.text.FlowView
所有已實作的介面:
SwingConstants
直接已知子類別:
ParagraphView

public abstract class FlowView
extends BoxView

試圖將其子級串流入某個部分受約束的空間的視圖。此視圖可用於建構段落、頁面等。該串流由以下幾項功能組成。

從以下版本開始:
1.3
另請參見:
View

巢狀類別摘要
static class FlowView.FlowStrategy
          維護串流的物理形式的策略。
 
欄位摘要
protected  View layoutPool
          這些都是表示此視圖表示的元素(要轉換為物理視圖的邏輯視圖)的子元素的視圖。
protected  int layoutSpan
          創建串流所依靠的預設約束。
protected  FlowView.FlowStrategy strategy
          保持串流更新的行為。
 
從類別 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
 
建構子摘要
FlowView(Element elem, int axis)
          建構給定元素的 FlowView。
 
方法摘要
protected  SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
          計算沿輔軸的要求。
 void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          發出通知,通知文檔中此視圖負責的某個位置的屬性已更改。
protected abstract  View createRow()
          創建應在保持串流中子級行值時使用的視圖。
 int getFlowAxis()
          獲取應沿其串流入視圖的軸。
 int getFlowSpan(int index)
          獲取給定子索引串流入的約束區域。
 int getFlowStart(int index)
          獲取沿串流軸的串流區域開始位置。
protected  int getViewIndexAtPosition(int pos)
          獲取此模型中表示給定位置的子視圖索引。
 void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          發出通知,通知在文檔中此視圖負責的某個位置已插入內容。
protected  void layout(int width, int height)
          佈置子級。
protected  void loadChildren(ViewFactory f)
          載入初始化該視圖的所有子級。
 void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          發出通知,通知從文檔中此視圖負責的某個位置已移除內容。
 void setParent(View parent)
          設置此視圖的父級。
 
從類別 javax.swing.text.BoxView 繼承的方法
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel
 
從類別 javax.swing.text.CompositeView 繼承的方法
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets
 
從類別 javax.swing.text.View 繼承的方法
append, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModel
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

layoutSpan

protected int layoutSpan
創建串流所依靠的預設約束。


layoutPool

protected View layoutPool
這些都是表示此視圖表示的元素(要轉換為物理視圖的邏輯視圖)的子元素的視圖。這些都不是此視圖的直接子級。這些子級既可以直接放入行,也可以用於拆分較小存儲塊,以便形成物理視圖。


strategy

protected FlowView.FlowStrategy strategy
保持串流更新的行為。預設情況下,這是所有 FlowView 實例共享的一個單獨行為(FlowStrategy 是無狀態的)。子類別可以創建一個備用策略,該策略可用來保持狀態。

建構子詳細資訊

FlowView

public FlowView(Element elem,
                int axis)
建構給定元素的 FlowView。

參數:
elem - 此視圖負責的元素
axis - 可以是 View.X_AXIS 或 View.Y_AXIS 之一
方法詳細資訊

getFlowAxis

public int getFlowAxis()
獲取應沿其串流入視圖的軸。預設情況下,這將是與該串流行沿其平鋪的軸垂直的軸(預設串流行自身的軸)。此操作通常由 FlowStrategy 使用。


getFlowSpan

public int getFlowSpan(int index)
獲取給定子索引串流入的約束區域。FlowStrategy 在更新該串流時調用此方法。可以通過為行約束提供不同的值而形成串流。預設情況下,返回沿串流軸的 insets 內的整個區域。

參數:
index - 正在更新的行的索引。這應該是一個 >= 0 且 < getViewCount() 的值。
另請參見:
getFlowStart(int)

getFlowStart

public int getFlowStart(int index)
獲取沿串流軸的串流區域開始位置。FlowStrategy 在更新該串流時調用此方法。可以通過為行約束提供不同的值而形成串流。

參數:
index - 正在更新的行的索引。這應該是一個 >= 0 且 < getViewCount() 的值。
另請參見:
getFlowSpan(int)

createRow

protected abstract View createRow()
創建應在保持串流中子級行值時使用的視圖。在更新串流的過程中添加或移除新子級(即添加或移除行)時,此方法由 FlowStrategy 調用。


loadChildren

protected void loadChildren(ViewFactory f)
載入初始化該視圖的所有子級。此方法由 setParent 方法調用。重新實作此方法,以便不直接載入任何子級(因為它們是在格式化進程中創建的)。如果 layoutPool 變數為 null,則創建一個 LogicalView 實例,表示在格式化進程中使用的邏輯視圖。

覆寫:
類別 CompositeView 中的 loadChildren
參數:
f - 視圖處理器
另請參見:
CompositeView.setParent(javax.swing.text.View)

getViewIndexAtPosition

protected int getViewIndexAtPosition(int pos)
獲取此模型中表示給定位置的子視圖索引。

覆寫:
類別 CompositeView 中的 getViewIndexAtPosition
參數:
pos - 位置,該值 >= 0
返回:
表示給定位置的視圖的索引,如果沒有視圖表示該位置,則返回 -1

layout

protected void layout(int width,
                      int height)
佈置子級。如果沿串流軸的區域已改變,則佈局將標記為無效,這樣會導致沿框軸重新計算佈局的父級類別行為。FlowStrategy.layout 方法將被調用以便相應地重建這些串流行。如果此視圖的高度改變(由沿框軸的首選大小確定),則調用 preferenceChanged。這一切做完後,將執行父級類別的正常框佈局。

覆寫:
類別 BoxView 中的 layout
參數:
width - 要按其佈置的寬度,該值 >= 0。這是 inset 區域內的寬度。
height - 按其佈置的高度,該值 >= 0。這是 inset 區域內的高度。

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)
計算沿輔軸的要求。實作此方法,以便通過在其上調用 getMinimumSpan、getPreferredSpan 和 getMaximumSpan 將此請求轉到邏輯視圖。

覆寫:
類別 BoxView 中的 calculateMinorAxisRequirements
參數:
axis - 所考察的軸
r - SizeRequirements 物件;如果為 null,將創建一個物件
返回:
新初始化的 SizeRequirements 物件
另請參見:
SizeRequirements

insertUpdate

public void insertUpdate(DocumentEvent changes,
                         Shape a,
                         ViewFactory f)
發出通知,通知在文檔中此視圖負責的某個位置已插入內容。

覆寫:
類別 View 中的 insertUpdate
參數:
changes - 來自相關文檔的更改資訊
a - 視圖的當前分派區域
f - 用於重建的處理器(如果該視圖有子級)
另請參見:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

public void removeUpdate(DocumentEvent changes,
                         Shape a,
                         ViewFactory f)
發出通知,通知從文檔中此視圖負責的某個位置已移除內容。

覆寫:
類別 View 中的 removeUpdate
參數:
changes - 來自相關文檔的更改資訊
a - 視圖的當前分派區域
f - 用於重建的處理器(如果該視圖有子級)
另請參見:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

changedUpdate

public void changedUpdate(DocumentEvent changes,
                          Shape a,
                          ViewFactory f)
發出通知,通知文檔中此視圖負責的某個位置的屬性已更改。

覆寫:
類別 View 中的 changedUpdate
參數:
changes - 來自相關文檔的更改資訊
a - 視圖的當前分派區域
f - 用於重建的處理器(如果該視圖有子級)
另請參見:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

setParent

public void setParent(View parent)
設置此視圖的父級。重新實作此方法可提供父級類別行為,並可在此視圖無子級的情況下調用 loadChildren 方法。不應在建構子中載入子級,因為設置父級的動作可能引起它們試圖沿層次結構向上搜尋,例如,要獲得承載 Container。如果此視圖有子級(視圖從視圖層次結構中的一個位置移動到另一個位置),則不調用 loadChildren 方法。

覆寫:
類別 CompositeView 中的 setParent
參數:
parent - 視圖的父級,如果沒有則為 null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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