JavaTM Platform
Standard Ed. 6

javax.swing.text
클래스 GlyphView

java.lang.Object 
  상위를 확장 javax.swing.text.View 
      상위를 확장 javax.swing.text.GlyphView
모든 구현된 인터페이스:
Cloneable , SwingConstants , TabableView
직계의 기존의 서브 클래스:
LabelView


public class GlyphView
extends View
implements TabableView , Cloneable

텍스트 모델의 요소상에 매핑 된 뷰를 나타내는, 텍스트의 서식 첨부 체크입니다. 이 뷰는 일반적으로, 어떠한 방법으로 문자 레벨의 속성을 사용해 테키스트Glyph를 표시합니다. GlyphPainter 클래스의 구현은, 실제의 draw 및 모델과 뷰의 변환을 실시하는데 사용됩니다. 이 클래스는, 모델에 관련한 레이아웃 및 관리로부터 draw를 분리합니다.

이 뷰는, 서식을 정돈하기 위해서(때문에) 분할을 지원하고 있습니다. 분할에 의해 할 수 있던 fragment는, 그 요소의 직접적인 책임을 가지는 뷰를 공유합니다. 즉, 각 fragment는 상자가 되어 있는 클래스이며, 그 자체 상태는 최소한 밖에 가지지 않습니다. 이 때문에, 각 fragment는 그 자원을 공유할 수 있습니다.

이 뷰는, 탭이 파묻힌 텍스트를 표현하는 일도 있으므로,TabableView 인터페이스를 구현합니다. 탭이 전개되는 것은, 탭의 전개를 실시하는 컨테이너에 이 뷰가 파묻히고 있는 경우만입니다. 탭 전개를 실시하는 컨테이너로서는, ParagraphView 등이 있습니다.

도입된 버젼:
1.3

상자의 클래스의 개요
static class GlyphView.GlyphPainter
          Glyph의 draw를 실시하는 클래스입니다.
 
필드의 개요
 
클래스 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 ()
          Glyph페인타가 존재할지 어떨지를 조사합니다.
protected  Object clone ()
          shallow 복사를 작성합니다.
 View createFragment (int p0, int p1)
          요소의 일부분을 나타내는 뷰를 작성합니다.
 float getAlignment (int axis)
          축으로 따른 이 뷰의 바람직한 레이아웃을 결정합니다.
 Color getBackground ()
          Glyph의 draw에 사용하는 백그라운드 칼라를 가져옵니다.
 int getBreakWeight (int axis, float pos, float len)
          이 뷰로 분할의 웨이트가 어느 정도 적절한가를 나타냅니다.
 int getEndOffset ()
          이 뷰가 취급하는 모델의 일부를 가져옵니다.
 Font getFont ()
          Glyph의 베이스가 되는 폰트를 가져옵니다.
 Color getForeground ()
          Glyph의 draw에 사용하는 foreground 칼라를 가져옵니다.
 GlyphView.GlyphPainter getGlyphPainter ()
          현재 인스톨 되고 있는 Glyph페인타를 가져옵니다.
 int getNextVisualPositionFrom (int pos, Position.Bias  b, Shape  a, int direction, Position.Bias [] biasRet)
          caret가 배치될 가능성이 있는, 시각적으로 나타내진 다음의 모델 위치를 결정하는 수단을 제공합니다.
 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 ()
          Glyph가 취소해 선을 가질지 어떨지를 결정합니다.
 boolean isSubscript ()
          Glyph를 슈퍼 스크립트로서 draw 할지 어떨지를 결정합니다.
 boolean isSuperscript ()
          Glyph를 첨자로서 draw 할지 어떨지를 결정합니다.
 boolean isUnderline ()
          Glyph에 밑줄을 붙일지 어떨지를 결정합니다.
 Shape modelToView (int pos, Shape  a, Position.Bias  b)
          문서 모델의 좌표 공간으로부터 뷰의 좌표 공간에의 매핑을 제공합니다.
 void paint (Graphics  g, Shape  a)
          텍스트 서식의 행의 일부를 draw 합니다.
 void removeUpdate (DocumentEvent  e, Shape  a, ViewFactory  f)
          이 뷰가 취급하는 문서내의 위치로부터 무엇인가가 삭제되었다고 하는 것을 통지합니다.
 void setGlyphPainter (GlyphView.GlyphPainter  p)
          Glyph의 draw에 사용하는 페인타를 설정합니다.
 int viewToModel (float x, float y, Shape  a, Position.Bias [] biasReturn)
          뷰의 좌표 공간으로부터 모델의 논리 좌표 공간에의 매핑을 제공합니다.
 
클래스 javax.swing.text. View 로부터 상속된 메소드
append , forwardUpdate , forwardUpdateToView , getAttributes , getChildAllocation , getContainer , getDocument , getElement , getGraphics , getMaximumSpan , getMinimumSpan , getParent , getResizeWeight , getToolTipText , getView , getViewCount , getViewFactory , getViewIndex , getViewIndex , insert , isVisible , modelToView , modelToView , preferenceChanged , remove , removeAll , replace , setParent , setSize , updateChildren , updateLayout , viewToModel
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

GlyphView

public GlyphView(Element  elem)
요소에 랩 된 새로운 뷰를 작성합니다.

파라미터:
elem - 요소
메소드의 상세

clone

protected final Object  clone()
shallow 복사를 작성합니다. createFragment 메소드 및 breakView 메소드에 의해 사용됩니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
카피
관련 항목:
Cloneable

getGlyphPainter

public GlyphView.GlyphPainter  getGlyphPainter()
현재 인스톨 되고 있는 Glyph페인타를 가져옵니다. 페인타가 아직 인스톨되어 있지 않은 경우, 및 디폴트가 아직 필요하지 않은 경우는, null 가 돌려주어집니다.


setGlyphPainter

public void setGlyphPainter(GlyphView.GlyphPainter  p)
Glyph의 draw에 사용하는 페인타를 설정합니다.


getText

public Segment  getText(int p0,
                       int p1)
지정된 범위를 차지하는 텍스트에의 참조를 가져옵니다. 일반적으로은 GlyphPainter 가 Glyph의 draw 대상 문자를 판정하는데 사용합니다.

파라미터:
p0 - 문서의 개시 오프셋(offset) >= 0
p1 - 문서의 종료 오프셋(offset) >= p0
반환값:
텍스트가 포함되고 있는 Segment

getBackground

public Color  getBackground()
Glyph의 draw에 사용하는 백그라운드 칼라를 가져옵니다. 백그라운드 칼라가 없는 경우는 null 를 돌려주도록(듯이) 합니다. 관련하는 문서가 서식 첨부 문서의 경우는 StyledDocument.getBackground 를 호출하는데 구현되어 그렇지 않은 경우는 null 를 돌려줍니다.


getForeground

public Color  getForeground()
Glyph의 draw에 사용하는 foreground 칼라를 가져옵니다. foreground 칼라가 없는 경우는 null 를 돌려주도록(듯이) 합니다. 관련하는 문서가 StyledDocument 의 경우는 StyledDocument.getBackground 를 호출하는데 구현됩니다. 관련하는 문서가 StyledDocument 가 아닌 경우는, 관련하는 컴퍼넌트의 foreground 칼라가 사용됩니다. 관련하는 문서가 없는 경우는 null 가 돌려주어집니다.


getFont

public Font  getFont()
Glyph의 베이스가 되는 폰트를 가져옵니다. 관련하는 문서가 StyledDocument 의 경우는 StyledDocument.getFont 를 호출하는데 구현됩니다. 관련하는 문서가 StyledDocument 가 아닌 경우는, 관련하는 컴퍼넌트의 폰트가 사용됩니다. 관련하는 문서가 없는 경우는 null 가 돌려주어집니다.


isUnderline

public boolean isUnderline()
Glyph에 밑줄을 붙일지 어떨지를 결정합니다. true 의 경우, baseline에 밑줄이 끌립니다.


isStrikeThrough

public boolean isStrikeThrough()
Glyph가 취소해 선을 가질지 어떨지를 결정합니다. true 의 경우, Glyph의 중앙에 선이 끌립니다.


isSubscript

public boolean isSubscript()
Glyph를 슈퍼 스크립트로서 draw 할지 어떨지를 결정합니다.


isSuperscript

public boolean isSuperscript()
Glyph를 첨자로서 draw 할지 어떨지를 결정합니다.


getTabExpander

public TabExpander  getTabExpander()
탭이 이 뷰에 존재하는 경우에 사용하는 TabExpander 를 가져옵니다.


checkPainter

protected void checkPainter()
Glyph페인타가 존재할지 어떨지를 조사합니다. 페인타가 존재하지 않는 경우, 디폴트의 Glyph페인타가 인스톨 됩니다.


getTabbedSpan

public float getTabbedSpan(float x,
                           TabExpander  e)
지정된 탭 전개의 구현을 사용할 때에 바람직한 스팬을 지정합니다.

정의:
인터페이스 TabableView 내의 getTabbedSpan
파라미터:
x - 탭 전개를 위해서(때문에) 뷰가 배치되는 위치. 0 이상
e - 탭을 검출했을 때에 탭을 전개하는 방법
반환값:
적절한 스팬 >= 0
관련 항목:
TabableView.getTabbedSpan(float, javax.swing.text.TabExpander)

getPartialSpan

public float getPartialSpan(int p0,
                            int p1)
뷰의 일부이기 때문에, 탭 확장과 같은 축으로 따른 스팬을 지정합니다. 이 메소드는, 탭 확장이 tab stop와 관련하는 margin를 가지지 않는 텍스트의 부분의 위치 가지런히 하고를 따르는 경우에 TabExpander 에 의해 사용됩니다. 이 때문에, 지정된 범위에 탭이 포함되지 않았다고 가정합니다.

이 메소드는, getTabbedSpan 또는 getPreferredSize 의 서비스중에 호출할 수가 있습니다. 사이즈를 측정하기 위해서, 그것 자신의 텍스트 버퍼를 준비할 필요가 있습니다.

정의:
인터페이스 TabableView 내의 getPartialSpan
파라미터:
p0 - 문서의 개시 오프셋(offset) >= 0
p1 - 문서의 종료 오프셋(offset) >= p0
반환값:
스팬 >= 0

getStartOffset

public int getStartOffset()
이 뷰가 취급하는 모델의 일부를 가져옵니다.

오버라이드(override):
클래스 View 내의 getStartOffset
반환값:
모델에의 개시 오프셋(offset)
관련 항목:
View.getStartOffset()

getEndOffset

public int getEndOffset()
이 뷰가 취급하는 모델의 일부를 가져옵니다.

오버라이드(override):
클래스 View 내의 getEndOffset
반환값:
모델에의 종료 오프셋(offset)
관련 항목:
View.getEndOffset()

paint

public void paint(Graphics  g,
                  Shape  a)
텍스트 서식의 행의 일부를 draw 합니다.

정의:
클래스 View 내의 paint
파라미터:
g - 사용하는 draw 표면
a - draw를 위해서(때문에) 할당할 수 있었던 영역

getPreferredSpan

public float getPreferredSpan(int axis)
이 뷰에 적절한 스팬을 축으로 따라 지정합니다.

정의:
클래스 View 내의 getPreferredSpan
파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
반환값:
뷰의 draw처의 스팬. 0 이상. 일반적으로, 뷰는 반환된 스팬내에 draw 되도록(듯이) 요구되지만, 그 보증은 없다. 부모는 뷰의 사이즈의 변경이나 분할을 실시할 가능성이 있는
관련 항목:
View.getPreferredSpan(int)

getAlignment

public float getAlignment(int axis)
축으로 따른 이 뷰의 바람직한 레이아웃을 결정합니다. 라벨의 정렬은, y 축의 경우는 폰트 baseline에 따라, x 축의 경우는 슈퍼 클래스의 정렬에 따라 결정합니다.

오버라이드(override):
클래스 View 내의 getAlignment
파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
반환값:
바람직한 배치. 이 값의 범위는 0.0 ~ 1.0 으로, 0 은 기점에의 배치, 1.0 은 기점으로부터 최대에 떨어진 배치를 나타낸다. 0.5 는 뷰의 중앙에의 배치가 된다

modelToView

public Shape  modelToView(int pos,
                         Shape  a,
                         Position.Bias  b)
                  throws BadLocationException 
문서 모델의 좌표 공간으로부터 뷰의 좌표 공간에의 매핑을 제공합니다.

정의:
클래스 View 내의 modelToView
파라미터:
pos - 변환 대상의 위치 >>= 0
a - draw를 위해서(때문에) 할당할 수 있었던 영역
b - Position.Bias.Forward 또는 Position.Bias.Backward
반환값:
지정된 위치의 바운딩 박스
예외:
BadLocationException - 지정된 위치가, 관련지을 수 있었던 문서내의 유효한 위치를 나타내지 않는 경우
관련 항목:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

viewToModel

public int viewToModel(float x,
                       float y,
                       Shape  a,
                       Position.Bias [] biasReturn)
뷰의 좌표 공간으로부터 모델의 논리 좌표 공간에의 매핑을 제공합니다.

정의:
클래스 View 내의 viewToModel
파라미터:
x - X 좌표 >= 0
y - Y 좌표 >= 0
a - draw를 위해서(때문에) 할당할 수 있었던 영역
biasReturn - 이 배열의 0 번째의 요소로서Position.Bias.Forward 또는 Position.Bias.Backward 가 반환된다
반환값:
지정된 뷰내의 점을 가장 적절히 표현하는 모델내의 위치. 0 이상
관련 항목:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

getBreakWeight

public int getBreakWeight(int axis,
                          float pos,
                          float len)
이 뷰로 분할의 웨이트가 어느 정도 적절한가를 나타냅니다. 이 메소드는, 포맷의 과정에서 breakView 를 호출하는 가장 적절한 뷰를 판단하기 위해서(때문에) 사용할 수 있습니다. 웨이트가 높을 정도(수록), 분할에는 보다 적절합니다. 값이 View.BadBreakWeight 이하의 경우는, 분할 대상은 되지 않습니다. 값이 View.ForcedBreakWeight 이상의 경우는, 분할됩니다.

View.X_AXIS 또는 View.Y_AXISX_AXIS 에 대해서는, 다음에 나타내는 값이 돌려주어질 가능성이 있습니다.

View.ExcellentBreakWeight
분할하고 싶은 위치의 직전에 공백이 있는 경우
View.BadBreakWeight
분할하고 싶은 위치가, 결과적으로 개시 오프셋(offset)의 분할 위치가 되는 경우
View.GoodBreakWeight
이상 2 개의 조건이 해당하지 않는 경우
일반적으로은, 이것에 의해, 공백 문자가 있으면 그 자리소에서, 그렇지 않은 경우는 2 문자의 사이에 분할을 합니다.

오버라이드(override):
클래스 View 내의 getBreakWeight
파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
pos - 분할된 뷰의 개시의 가능성이 있는 위치. 0 이상. 이것은 탭 위치의 계산에 편리한 경우가 있는
len - 분할이 필요한 pos 로부터의 상대적인 길이를 지정한다. 0 이상
반환값:
웨이트. View.ForcedBreakWeight 와 View.BadBreakWeight 의 사이의 값
관련 항목:
LabelView , ParagraphView , View.BadBreakWeight , View.GoodBreakWeight , View.ExcellentBreakWeight , View.ForcedBreakWeight

breakView

public View  breakView(int axis,
                      int p0,
                      float pos,
                      float len)
지정된 축 및 지정된 길이로 이 뷰를 분할합니다. 이 메소드는, 공백 문자의 위치에서 분할하기 위해서 구현되고 있어 말미에 공백 문자를 가지는 fragment를 돌려줍니다. 공백 문자의 위치가 발견되지 않는 경우는, 가장 가까운 문자를 사용합니다.

오버라이드(override):
클래스 View 내의 breakView
파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
p0 - fragment의 표시를 개시하는 모델내의 위치. 0 이상
pos - 분할된 뷰가 차지하는 축으로 따른 위치. 0 이상. 이것은 탭의 계산등으로 편리한 경우가 있는
len - 분할이 필요한 축으로 따른 거리를 지정한다. 0 이상
반환값:
뷰를 분할할 수 있는 경우는, 지정된 스팬을 나타내는 뷰의 fragment. 뷰가 분할 동작을 지원하고 있지 않는 경우는, 뷰 자체가 반환되는
관련 항목:
View.breakView(int, int, float, float)

createFragment

public View  createFragment(int p0,
                           int p1)
요소의 일부분을 나타내는 뷰를 작성합니다. 서식 설정의 조작중에, 뷰의 각 fragment를 측정하기 위해서 사용합니다. 뷰가 fragment화를 지원하지 않는 경우 (이것이 디폴트)는, 뷰 자신이 돌려주어집니다.

이 뷰는, fragment화를 지원하고 있습니다. 이 구현에 의해, 이 뷰 상태를 공유하는, 뷰의 일부분만큼을 나타내는 상자가 되어 있는 클래스를 돌려줄 수가 있습니다.

오버라이드(override):
클래스 View 내의 createFragment
파라미터:
p0 - 개시 오프셋(offset)는 0 이상. 이 값은, 요소의 개시 오프셋(offset) 이상으로, 요소의 종료 오프셋(offset)보다 작은
p1 - 종료 오프셋(offset) > p0. 이 값은 요소의 종료 오프셋(offset) 이하로 요소의 개시 오프셋(offset)보다 큰 값으로 한다
반환값:
뷰의 fragment. 뷰가 fragment에의 분할을 지원하지 않는 경우는 뷰 자체
관련 항목:
LabelView

getNextVisualPositionFrom

public int getNextVisualPositionFrom(int pos,
                                     Position.Bias  b,
                                     Shape  a,
                                     int direction,
                                     Position.Bias [] biasRet)
                              throws BadLocationException 
caret가 배치될 가능성이 있는, 시각적으로 나타내진 다음의 모델 위치를 결정하는 수단을 제공합니다. 뷰에 따라서는, 가시가 아닌지, 모델내와 같은 순서가 아닌지, 또는 모델내의 위치에의 액세스를 허가하지 않는 경우가 있습니다.

오버라이드(override):
클래스 View 내의 getNextVisualPositionFrom
파라미터:
pos - 변환 대상의 위치 >>= 0
a - draw를 위해서(때문에) 할당할 수 있었던 영역
direction - 현재 위치로부터의 방향. 이것은, 키보드에 일반적으로 존재하는 커서 키라고 볼 수가 있어 SwingConstants.WEST, SwingConstants.EAST, SwingConstants.NORTH, 또는 SwingConstants.SOUTH 가 된다
반환값:
다음의 가시의 위치를 무엇보다 자주(잘) 나타내는 모델내의 위치
예외:
BadLocationException
IllegalArgumentException - 방향이 무효인 경우

insertUpdate

public void insertUpdate(DocumentEvent  e,
                         Shape  a,
                         ViewFactory  f)
이 뷰가 취급하는 위치에서 문서에 무엇인가가 삽입된 것을 통지합니다. 이 메소드는, Glyph가 draw 되는 축으로 따라 preferenceChanged 를 호출하기 위해서(때문에) 구현됩니다.

오버라이드(override):
클래스 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)
이 뷰가 취급하는 문서내의 위치로부터 무엇인가가 삭제되었다고 하는 것을 통지합니다. 이 메소드는, Glyph가 draw 되는 축으로 따라 preferenceChanged 를 호출하기 위해서(때문에) 구현됩니다.

오버라이드(override):
클래스 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)
이 뷰가 취급하는 위치에서 속성이 변경된 것을 문서로부터 통지합니다. 이 메소드는, 수평축 및 수직축의 양쪽 모두에 따라 preferenceChanged 를 호출하기 위해서(때문에) 구현됩니다.

오버라이드(override):
클래스 View 내의 changedUpdate
파라미터:
e - 관련하는 문서로부터의 변경 정보
a - 뷰의 현재의 할당
f - 뷰가 아이를 가지는 경우에 재구축에 사용하는 팩토리
관련 항목:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.