JavaTM 2 Platform
Standard Ed. 6

javax.swing.text
類別 FlowView.FlowStrategy

java.lang.Object
  繼承者 javax.swing.text.FlowView.FlowStrategy
正在封閉類別:
FlowView

public static class FlowView.FlowStrategy
extends Object

維護串流的物理形式的策略。預設實作是完全無狀態的,並且如果給定的 FlowView 佈局無效,則要重新計算整個串流。備用策略可以通過創建子類別實作,並且可以對佈局或備用分解行為執行增量修復。

從以下版本開始:
1.3

建構子摘要
FlowView.FlowStrategy()
           
 
方法摘要
protected  void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x)
          如有可能,調整給定行以使其適合佈局區域。
 void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          發出通知,通知文檔中此視圖負責的某個位置的屬性已更改。
protected  View createView(FlowView fv, int startOffset, int spanLeft, int rowIndex)
          創建一個可用於表示串流的當前片段的視圖。
protected  View getLogicalView(FlowView fv)
          此方法提供存取 FlowView 的邏輯視圖的串流策略。
 void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          發出通知,通知在文檔中此視圖負責的某個位置已插入內容。
 void layout(FlowView fv)
          更新給定 FlowView 的串流。
protected  int layoutRow(FlowView fv, int rowIndex, int pos)
          創建一個符合該行佈局區域的視圖的行。
 void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          發出通知,通知已從文檔中此給定串流視圖負責的某個位置移除某些內容。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

FlowView.FlowStrategy

public FlowView.FlowStrategy()
方法詳細資訊

insertUpdate

public void insertUpdate(FlowView fv,
                         DocumentEvent e,
                         Rectangle alloc)
發出通知,通知在文檔中此視圖負責的某個位置已插入內容。該策略應能更新相應的已更改區域(這取決於修復所用的策略)。

參數:
e - 來自相關文檔的更改資訊
alloc - 該 insets 內此視圖的當前分派區域。如果視圖尚未顯示,則此值為 null。
另請參見:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

public void removeUpdate(FlowView fv,
                         DocumentEvent e,
                         Rectangle alloc)
發出通知,通知已從文檔中此給定串流視圖負責的某個位置移除某些內容。

參數:
e - 來自相關文檔的更改資訊
alloc - 該 insets 內此視圖的當前分派區域。
另請參見:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

changedUpdate

public void changedUpdate(FlowView fv,
                          DocumentEvent e,
                          Rectangle alloc)
發出通知,通知文檔中此視圖負責的某個位置的屬性已更改。

參數:
fv - 套件含這些更改的 FlowView
e - 描述對文檔做出的更改的 DocumentEvent
alloc - 視圖的邊界
另請參見:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

getLogicalView

protected View getLogicalView(FlowView fv)
此方法提供存取 FlowView 的邏輯視圖的串流策略。


layout

public void layout(FlowView fv)
更新給定 FlowView 的串流。預設情況下,這樣會導致所有行(子視圖)的重建,以比對每行的給定約束。此方法由 FlowView.layout 調用來更新串流中的子視圖。

參數:
fv - 回串流視圖

layoutRow

protected int layoutRow(FlowView fv,
                        int rowIndex,
                        int pos)
創建一個符合該行佈局區域的視圖的行。它將由佈局方法調用。通過重複調用 createView 方法來實作行的填充,直到用盡可用區域、遇到強制中斷或 createView 方法返回 null 為止。如果已用盡剩餘區域,則調用 adjustRow 方法來調整該行,試圖使它符合給定區域。

參數:
rowIndex - 要使用視圖填充的行的索引。假定行入口為空。
pos - 視圖子級中元素從其開始的當前位置。
返回:
開始下一行的位置

adjustRow

protected void adjustRow(FlowView fv,
                         int rowIndex,
                         int desiredSpan,
                         int x)
如有可能,調整給定行以使其適合佈局區域。預設情況下,此操作將試圖能在最接近行結尾的位置找到最高中斷權重。如果遇到強制中斷,則該中斷將定位於強制中斷的位置。

參數:
rowIndex - 調整當前佈局區域的行。
desiredSpan - 當前佈局區域,該值 >= 0
x - 行開始處的位置。

createView

protected View createView(FlowView fv,
                          int startOffset,
                          int spanLeft,
                          int rowIndex)
創建一個可用於表示串流的當前片段的視圖。這可以是邏輯視圖中的整個視圖,也可以是該邏輯視圖的一個片段。

參數:
fv - 保存串流的視圖
startOffset - 正創建的視圖的開始位置
spanLeft - 行中填充的區域左半部分
rowIndex - 視圖將放入其中的行

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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