JavaTM 2 Platform
Standard Ed. 6

javax.swing.text
類別 WrappedPlainView

java.lang.Object
  繼承者 javax.swing.text.View
      繼承者 javax.swing.text.CompositeView
          繼承者 javax.swing.text.BoxView
              繼承者 javax.swing.text.WrappedPlainView
所有已實作的介面:
SwingConstants, TabExpander

public class WrappedPlainView
extends BoxView
implements TabExpander

進行換行的純文本(僅有一種字體和顏色的文本)視圖。此視圖期望其關聯元素具有表示其應該換行的子元素。它實作為一個套件含邏輯行視圖的垂直框。邏輯行視圖是巢狀類別,如果邏輯行太寬以至於分派無法容納時,這些類別把邏輯行呈現為多個物理行。行視圖針對其狀態利用外部類別來減少其記憶體需求。

行視圖通過 drawLine 方法來執行其所有的呈現操作,此方法通過 drawSelectedTextdrawUnselectedText 方法來依次執行其所有呈現操作。這使得子類別能容易地專用於呈現而不考慮佈局問題。

另請參見:
View

欄位摘要
 
從類別 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
 
建構子摘要
WrappedPlainView(Element elem)
          創建一個新的 WrappedPlainView。
WrappedPlainView(Element elem, boolean wordWrap)
          創建一個新的 WrappedPlainView。
 
方法摘要
protected  int calculateBreakPosition(int p0, int p1)
          此方法由巢狀換行視圖調用,以確定拆分位置。
 void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
          發出文檔中此視圖負責的位置上的屬性已發生更改的通知。
protected  void drawLine(int p0, int p1, Graphics g, int x, int y)
          取消結尾空格並擴展所有製表符,從而呈現一行文本。
protected  int drawSelectedText(Graphics g, int x, int y, int p0, int p1)
          將模型中給定的範圍呈現為所選文本。
protected  int drawUnselectedText(Graphics g, int x, int y, int p0, int p1)
          將模型中的給定範圍呈現為普通未選擇的文本。
protected  Segment getLineBuffer()
          提供對能用於從關聯文檔獲取文本的緩衝區的存取。
 float getMaximumSpan(int axis)
          確定此視圖沿某個軸的最大跨距。
 float getMinimumSpan(int axis)
          確定此視圖沿某個軸的最小跨距。
 float getPreferredSpan(int axis)
          確定此視圖沿某個軸的首選跨距。
protected  int getTabSize()
          返回文檔的製表符大小設置,預設為 8。
 void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
          發出在文檔中此視圖負責的位置插入了某些內容的通知。
protected  void loadChildren(ViewFactory f)
          載入所有子級來初始化視圖。
 float nextTabStop(float x, int tabOffset)
          返回給定參考位置之後的下一個製表位位置。
 void paint(Graphics g, Shape a)
          使用給定的呈現表面和表現上的區域來呈現。
 void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
          發出從文檔中此視圖負責的位置移除了某些內容的通知。
 void setSize(float width, float height)
          設置視圖的大小。
 
從類別 javax.swing.text.BoxView 繼承的方法
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getOffset, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, viewToModel
 
從類別 javax.swing.text.CompositeView 繼承的方法
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, modelToView, setInsets, setParagraphInsets, setParent
 
從類別 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
 

建構子詳細資訊

WrappedPlainView

public WrappedPlainView(Element elem)
創建一個新的 WrappedPlainView。將在字元邊界換行。

參數:
elem - 作為視圖基礎的元素

WrappedPlainView

public WrappedPlainView(Element elem,
                        boolean wordWrap)
創建一個新的 WrappedPlainView。可以在字元或者單詞邊界換行,具體取決於 wordWrap 參數的設置。

參數:
elem - 作為視圖基礎的元素
wordWrap - 應該在單詞邊界換行嗎?
方法詳細資訊

getTabSize

protected int getTabSize()
返回文檔的製表符大小設置,預設為 8。

返回:
製表符大小

drawLine

protected void drawLine(int p0,
                        int p1,
                        Graphics g,
                        int x,
                        int y)
取消結尾空格並擴展所有製表符,從而呈現一行文本。實作此方法來調用方法 drawUnselectedTextdrawSelectedText,以便自定義呈現選擇和未選擇文本的方式。

參數:
p0 - 要使用的文檔起始位置,該值 >= 0
p1 - 要使用的文檔結尾位置,該值 >= p0
g - 圖形上下文
x - 起始 X 位置,該值 >= 0
y - 起始 Y 位置,該值 >= 0
另請參見:
drawUnselectedText(java.awt.Graphics, int, int, int, int), drawSelectedText(java.awt.Graphics, int, int, int, int)

drawUnselectedText

protected int drawUnselectedText(Graphics g,
                                 int x,
                                 int y,
                                 int p0,
                                 int p1)
                          throws BadLocationException
將模型中的給定範圍呈現為普通未選擇的文本。

參數:
g - 圖形上下文
x - 起始 X 坐標,該值 >= 0
y - 起始 Y 坐標,該值 >= 0
p0 - 模型中的開始位置,該值 >= 0
p1 - 模型中的結束位置,該值 >= p0
返回:
結尾範圍的 X 位置,該值 >= 0
拋出:
BadLocationException - 如果範圍無效

drawSelectedText

protected int drawSelectedText(Graphics g,
                               int x,
                               int y,
                               int p0,
                               int p1)
                        throws BadLocationException
將模型中給定的範圍呈現為所選文本。實作此方法以使用承載元件中指定的顏色來呈現文本。假定 highlighter 將呈現所選背景。

參數:
g - 圖形上下文
x - 起始 X 坐標,該值 >= 0
y - 起始 Y 坐標,該值 >= 0
p0 - 模型中的開始位置,該值 >= 0
p1 - 模型中的結束位置,該值 >= p0
返回:
範圍結尾處的位置
拋出:
BadLocationException - 如果範圍無效

getLineBuffer

protected final Segment getLineBuffer()
提供對能用於從關聯文檔獲取文本的緩衝區的存取。

返回:
緩衝區

calculateBreakPosition

protected int calculateBreakPosition(int p0,
                                     int p1)
此方法由巢狀換行視圖調用,以確定拆分位置。可以重新實作此方法來改變拆分行為。它將在單詞還是字元邊界分解,取決於在建構子中給定的拆分參數。


loadChildren

protected void loadChildren(ViewFactory f)
載入所有子級來初始化視圖。此方法由 setParent 方法調用。子類別可以重新實作此方法以使用一種不同的方式初始化其子視圖。預設的實作為每個子元素創建一個子視圖。

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

nextTabStop

public float nextTabStop(float x,
                         int tabOffset)
返回給定參考位置之後的下一個製表位位置。此實作不支持諸如居中之類別的操作,所以它會忽略 tabOffset 參數。

指定者:
介面 TabExpander 中的 nextTabStop
參數:
x - 當前位置,該值 >= 0
tabOffset - 文本串流中製表符出現的位置,該值 >= 0。
返回:
以點為單位的製表位,該值 >= 0

paint

public void paint(Graphics g,
                  Shape a)
使用給定的呈現表面和表現上的區域來呈現。實作此方法來隱藏供巢狀行使用的選擇位置、選擇顏色和字體規格。

覆寫:
類別 BoxView 中的 paint
參數:
g - 要使用的呈現表面
a - 要在其中呈現的分派區域
另請參見:
View.paint(java.awt.Graphics, java.awt.Shape)

setSize

public void setSize(float width,
                    float height)
設置視圖的大小。如果此方法有任何佈局的職責,則它將促使視圖沿給定軸進行佈局。

覆寫:
類別 BoxView 中的 setSize
參數:
width - 寬度,該值 >= 0
height - 高度,該值 >= 0

getPreferredSpan

public float getPreferredSpan(int axis)
確定此視圖沿某個軸的首選跨距。實作此方法以在第一次確保當前字體規格已被快取記憶體(對於使用該規格來確定可能的換行高度的巢狀行而言)後提供父級類別的行為。

覆寫:
類別 BoxView 中的 getPreferredSpan
參數:
axis - 可能是 View.X_AXIS 或者 View.Y_AXIS
返回:
將要在其中呈現視圖的跨距。通常告知視圖呈現在返回的跨距中,但並不保證如此。父級可能選擇調整視圖大小或者拆分視圖。
另請參見:
View.getPreferredSpan(int)

getMinimumSpan

public float getMinimumSpan(int axis)
確定此視圖沿某個軸的最小跨距。實作此方法以在第一次確保當前字體規格已被快取記憶體(對於使用該規格來確定可能的換行高度的巢狀行而言)後提供父級類別的行為。

覆寫:
類別 BoxView 中的 getMinimumSpan
參數:
axis - 可能是 View.X_AXIS 或者 View.Y_AXIS
返回:
視圖可能想要在其中呈現的跨距。通常告知視圖呈現在返回的跨距中,但並不保證如此。父級可能選擇調整視圖大小或者拆分視圖。
另請參見:
View.getMinimumSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)
確定此視圖沿某個軸的最大跨距。實作此方法以在第一次確保當前字體規格已被快取記憶體(對於使用該規格來確定可能的換行高度的巢狀行而言)後提供父級類別的行為。

覆寫:
類別 BoxView 中的 getMaximumSpan
參數:
axis - 可能是 View.X_AXIS 或者 View.Y_AXIS
返回:
視圖可能想要在其中呈現的跨距。通常告知視圖呈現在返回的跨距中,但並不保證如此。父級可能選擇調整視圖大小或者拆分視圖。
另請參見:
View.getMaximumSpan(int)

insertUpdate

public void insertUpdate(DocumentEvent e,
                         Shape a,
                         ViewFactory f)
發出在文檔中此視圖負責的位置插入了某些內容的通知。實作此方法以便只更新子級。

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

removeUpdate

public void removeUpdate(DocumentEvent e,
                         Shape a,
                         ViewFactory f)
發出從文檔中此視圖負責的位置移除了某些內容的通知。實作此方法以便只更新子級。

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

changedUpdate

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

覆寫:
類別 View 中的 changedUpdate
參數:
e - 發自關聯文檔的更改資訊
a - 視圖的當前分派
f - 視圖有子級時用於重建的處理器 View#changedUpdate

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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