|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.text.View javax.swing.text.GlyphView
public class GlyphView
GlyphView 是一個樣式化文本存儲塊,它表示在文本模型中的元素上映射的視圖。此視圖通常負責以某種方式使用字元級別屬性顯示文本字形。GlyphPainter 類別的實作用於進行實際呈現和模型/視圖轉換。此操作分別呈現與該模型關聯的佈局和管理。
該視圖支持為了格式化而進行的分解。通過分解產生的片段共享對元素負主要負責的視圖(即它們是巢狀的類別,只有其自身少量的狀態),因此它們可以共享其資源。
因為此視圖表示可以有嵌入其中的選項卡的文本,所以可實作 TabableView
介面。只有此視圖嵌入進行選項卡擴展的容器時,才擴展選項卡。ParagraphView 是一個套件含進行選項卡擴展的容器的範例。
巢狀類別摘要 | |
---|---|
static class |
GlyphView.GlyphPainter
執行字形呈現的類別。 |
欄位摘要 |
---|
從類別 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 |
建構子摘要 | |
---|---|
GlyphView(Element elem)
建構在元素上包裹的新視圖。 |
方法摘要 | |
---|---|
View |
breakView(int axis,
int p0,
float pos,
float len)
在給定的軸上以給定的長度拆分此視圖。 |
void |
changedUpdate(DocumentEvent e,
Shape a,
ViewFactory f)
發出通知,通知文檔此視圖負責的位置處的屬性已更改。 |
protected void |
checkPainter()
檢查是否存在字形 painter。 |
protected Object |
clone()
創建一個淺表複製。 |
View |
createFragment(int p0,
int p1)
創建表示元素某部分的視圖。 |
float |
getAlignment(int axis)
確定此視圖沿某個軸所需的對齊方式。 |
Color |
getBackground()
獲取用於呈現字形的背景色。 |
int |
getBreakWeight(int axis,
float pos,
float len)
確定此視圖拆分幾率有多大。 |
int |
getEndOffset()
獲取此視圖負責的一部分模型。 |
Font |
getFont()
獲取字形應該以其為依據的字體。 |
Color |
getForeground()
獲取用於呈現字形的前景色。 |
GlyphView.GlyphPainter |
getGlyphPainter()
獲取當前安裝的字形 painter。 |
int |
getNextVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet)
提供一種方法來確定下一個以可視化形式表示的模型位置,使用者可以在此位置放置一個插入符。 |
float |
getPartialSpan(int p0,
int p1)
確定沿與選項卡擴展同軸的區域是否為該視圖的一部分。 |
float |
getPreferredSpan(int axis)
確定此視圖沿某個軸的首選區域。 |
int |
getStartOffset()
獲取此視圖負責的一部分模型。 |
float |
getTabbedSpan(float x,
TabExpander e)
確定使用給定選項卡擴展實作時所需的區域。 |
TabExpander |
getTabExpander()
如果此視圖中存在選項卡,則獲取要使用的 TabExpander。 |
Segment |
getText(int p0,
int p1)
獲取對佔用給定範圍的文本的參考。 |
void |
insertUpdate(DocumentEvent e,
Shape a,
ViewFactory f)
發出通知,通知文檔中此視圖負責的位置已插入內容。 |
boolean |
isStrikeThrough()
確定字形是否應該有刪除線。 |
boolean |
isSubscript()
確定字形是否應該呈現為上標。 |
boolean |
isSuperscript()
確定字形是否應該呈現為下標。 |
boolean |
isUnderline()
確定字形是否應加下劃線。 |
Shape |
modelToView(int pos,
Shape a,
Position.Bias b)
提供從文檔模型坐標空間到所映射的視圖坐標空間的映射。 |
void |
paint(Graphics g,
Shape a)
呈現一部分運行的文本樣式。 |
void |
removeUpdate(DocumentEvent e,
Shape a,
ViewFactory f)
發出通知,通知文檔中此視圖負責的位置已移除內容。 |
void |
setGlyphPainter(GlyphView.GlyphPainter p)
設置用於呈現字形的 painter。 |
int |
viewToModel(float x,
float y,
Shape a,
Position.Bias[] biasReturn)
提供從視圖坐標空間到模型邏輯坐標空間的映射。 |
從類別 java.lang.Object 繼承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public GlyphView(Element elem)
elem
- 元素方法詳細資訊 |
---|
protected final Object clone()
Object
中的 clone
Cloneable
public GlyphView.GlyphPainter getGlyphPainter()
public void setGlyphPainter(GlyphView.GlyphPainter p)
public Segment getText(int p0, int p1)
p0
- 起始文檔偏移量,該值 >= 0p1
- 結束文檔偏移量,該值 >= p0
Segment
public Color getBackground()
StyledDocument.getBackground
,否則返回 null。
public Color getForeground()
StyledDocument.getBackground
。如果相關文檔不是一個 StyledDocument,則使用相關元件的前景色。如果沒有相關元件,則返回 null。
public Font getFont()
StyledDocument.getFont
。如果相關文檔不是一個 StyledDocument,則使用相關元件的字體。如果沒有相關元件,則返回 null。
public boolean isUnderline()
public boolean isStrikeThrough()
public boolean isSubscript()
public boolean isSuperscript()
public TabExpander getTabExpander()
protected void checkPainter()
public float getTabbedSpan(float x, TabExpander e)
TabableView
中的 getTabbedSpan
x
- 為進行選項卡擴展該視圖所在的位置,該位置 >= 0。e
- 遇到選項卡時對其進行擴展的方法。
TabableView.getTabbedSpan(float, javax.swing.text.TabExpander)
public float getPartialSpan(int p0, int p1)
使用 getTabbedSpan 或 getPreferredSize 時可以調用此方法。它必須安排自己的文本緩衝區來進行測量。
TabableView
中的 getPartialSpan
p0
- 起始文檔偏移量,該偏移量 >= 0p1
- 結束文檔偏移量,該偏移量 >= p0
public int getStartOffset()
View
中的 getStartOffset
View.getStartOffset()
public int getEndOffset()
View
中的 getEndOffset
View.getEndOffset()
public void paint(Graphics g, Shape a)
View
中的 paint
g
- 要使用的呈現表面a
- 已分派的呈現區域public float getPreferredSpan(int axis)
View
中的 getPreferredSpan
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
View.getPreferredSpan(int)
public float getAlignment(int axis)
View
中的 getAlignment
axis
- 可以是 View.X_AXIS 或 View.Y_AXIS
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
View
中的 modelToView
pos
- 要轉換的位置,該位置 >= 0a
- 要呈現的分派區域b
- 可以是 Position.Bias.Forward
,也可以是 Position.Bias.Backward
BadLocationException
- 如果給定位置不表示相關文檔中的有效位置View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)
View
中的 viewToModel
x
- X 坐標,該坐標 >= 0y
- Y 坐標,該坐標 >= 0a
- 要在其中呈現的分派區域biasReturn
- 將 Position.Bias.Forward
或 Position.Bias.Backward
作為此陣列中的第零個元素返回
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
public int getBreakWeight(int axis, float pos, float len)
breakView
的視圖。權重越高,拆分的可能性越大。如果值等於或小於 View.BadBreakWeight
,則不應考慮拆分。值大於或等於 View.ForcedBreakWeight
時應該拆分視圖。
實作此方法以轉發到 Y_AXIS 的父級類別。沿 X_AXIS 可以返回以下值。
View
中的 getBreakWeight
axis
- 可以是 View.X_AXIS,也可以是 View.Y_AXISpos
- 已拆分視圖的潛在起始位置,該位置 >= 0。這可能對計算選項卡的位置有用。len
- 指定到所需的潛在拆分處 pos 的相對長度,該長度 >= 0。
LabelView
,
ParagraphView
,
View.BadBreakWeight
,
View.GoodBreakWeight
,
View.ExcellentBreakWeight
,
View.ForcedBreakWeight
public View breakView(int axis, int p0, float pos, float len)
View
中的 breakView
axis
- 可以是 View.X_AXIS,也可以是 View.Y_AXISp0
- 模型中片段應該開始其表示形式的位置,該位置 >= 0。pos
- 沿已拆分視圖可能佔用的軸的位置,該位置 >= 0。這可能對諸如選項卡計算一類別的情況很有用。len
- 指定的沿需要潛在拆分的軸的距離,該距離 >= 0。
View.breakView(int, int, float, float)
public View createFragment(int p0, int p1)
此視圖確實支持分段。實作此方法以返回一個巢狀類別,該類別共享在此視圖中只表示該視圖的某一部分的狀態。
View
中的 createFragment
p0
- 起始偏移量,該偏移量 >= 0。此值應該大於或等於元素起始偏移量且小於元素結束偏移量。p1
- 結束偏移量,該偏移量 > p0。這應該是一個小於或等於元素結束偏移量且大於元素起始偏移量的值。
LabelView
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
View
中的 getNextVisualPositionFrom
pos
- 要轉換的位置,該位置 >= 0a
- 要呈現的分派區域direction
- 相對當前位置的方向,可視為通常在鍵盤上看到的箭頭鍵方向。此方向可以是 SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH 或 SwingConstants.SOUTH。
BadLocationException
IllegalArgumentException
- 如果方向無效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)
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)
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
View
中的 changedUpdate
e
- 來自相關文檔的更改資訊a
- 視圖的當前分派區域f
- 用於重建的處理器(如果該視圖有子級)View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。