JavaTM Platform
Standard Ed. 6

javax.swing.text
클래스 View

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


public abstract class View
extends Object
implements SwingConstants

View 클래스는, 텍스트 패키지의 매우 중요한 부분입니다. 이름이 가리키는 대로, 텍스트 모델의 뷰, 또는 텍스트 모델의 일부를 나타냅니다. 이름이 가리키도록(듯이), 텍스트 모델의 뷰, 혹은 텍스트 모델의 일부분을 나타냅니다. 이 클래스는 텍스트 컴퍼넌트의 외관을 취급합니다.  

디폴트에서는, 뷰는 경량입니다. 뷰에는, 뷰가 상태를 보관 유지하지 않고 많은 것을 취득할 수가 있는 친뷰에의 참조와 모델 (Element)의 일부분에의 참조가 포함되어 있습니다. 뷰는, 전형적일 뿐(만큼)으로 편리한 매핑인, 모델의 요소를 정확하게 나타낼 필요는 없습니다. 버젼 1.1 및 1.2 의 양쪽 모두로 기능하는 API 는, 이행에 의해 생기는 문제를 최소화하는데 편리합니다. 뷰가 뿔뿔이 흩어지게 되었을 경우의 일반적으로의 포맷의 결과입니다. 모델이 변경되어 뷰가 그 모델을 반영하도록(듯이) 변경되지 않으면 안 될 때, 요소와의 실질적인 관계의 편리성을, 뷰를 생성하는 팩토리의 구축에 의해 간단하게 하거나 뷰 각 부분의 추적을 계속하는 것으로 간단하게 합니다. 즉, 단순한 뷰는 Element 를 직접 나타냅니다만, 복잡한 뷰는 다릅니다.

뷰에는 이하의 기능이 있습니다.

레이아웃에의 관여

짜 합쳐진 Component 의 뷰에는,doLayoutsetSize 와 같은 setSize 메소드가 있습니다. Component 의 뷰에는, 1 개의 축이라고 변경을 식별할 수 있는 것을 요구하는 아이만을 무효로 할 수 있는 경우를 제외해,invalidate 와 같은 preferenceChanged 메소드가 있습니다.

View 는 사이즈를 나타냅니다. 최소 스팬, 추천 스팬, 최대 스팬의 3 개의 값으로 표시됩니다. 뷰의 레이아웃은 각 축으로 의존하지 않는 방법으로 행해집니다. View 구현을 올바르게 기능시키려면 , 최소 스팬 <= 추천 스팬, 또는 추천 스팬 <= 최대 스팬이 됩니다.

전의 문장은, 이 그림에 대해 설명하고 있습니다.

레이아웃에 관한 메소드의 최소 설정은 이하대로입니다.

몇번이나 불려 가기 위해서(때문에)는 setSize 메소드를 작성합니다 (사이즈가 변경되지 않는 경우에서도 불려 가는 일이 있습니다). setSize 메소드는 일반적으로, 최신의 레이아웃을 필요로 하는 조작을 View 상에서 시도하기 전에, View 의 레이아웃이 완료하도록(듯이) 불려 갑니다. 뷰의 사이즈는 반드시, 그 뷰로 지정된 스팬의 최소 스팬으로부터 최대 스팬의 범위내의 값으로 설정됩니다. 게다가 뷰로 부모에게 필요한 레이아웃치로 변경했을 경우, 이 뷰는 반드시 그 부모의 preferenceChanged 메소드를 호출해 부모에게 인수를 요구합니다. preferenceChanged 가 보내질 때까지, 그 친 View 는 변경을 인식하도록(듯이) 요구되고 있지 않습니다. 이 때문에, 친 View 의 구현은 필요에 따라서 아이의 요구를 캐쉬할 수 있습니다. 호출 순서는 다음과 같이 됩니다.

친뷰와 아이 뷰와의 사이의 샘플 호출 순서의 예
(setSize,getMinimum,getPreferred,getMaximum,getAlignment,setSize 의 순서)

뷰가 아이를 가지는 경우, 정확한 호출 순서는 친뷰의 레이아웃 펑션에 걸려 있습니다. 어느 아이에게 무엇을 제공하는지, 또는 아이를 1 번에 1 개 반복 갱신하는지를 지정하기 전에, 뷰는 아이의 추천 설정을 수집하는 일이 있습니다.

모델의 일부를 draw 한다

페인트 메소드로 draw 합니다만, 컴퍼넌트 페인트 메소드와 자주(잘) 닮았습니다. 뷰는, 꽤 큰 트리를 생성할 가능성이 있다고 생각됩니다. View 의 draw에 대해서 이하의 시멘틱스가 준비되어 있습니다.

렌더링을 위한 메소드는 다음과 같습니다.

모델의 좌표 체계와 뷰의 좌표 체계와의 사이의 변환

뷰객체는 팩토리로부터 생성되고 있어 반드시 특정의 패턴에 의존할 것은 없기 때문에, 모델의 공간 표현을 적절히 평가하는 변환을 실행할 수 없으면 안됩니다. 이것은 다음의 메소드가 실행합니다.

변환하려고 하기 전에 레이아웃을 유효하게 할 필요가 있습니다. 이 변환은 유효하지 않기 때문에, 변경이 DocumentEvent 경유로 모델로부터 보내지는 동안은 변환하지 말아 주세요.

모델로부터의 변경에 응답한다

뷰 전체가 얼마든지의 분할 부분에서 표현되고 있으면(자) (뷰를 변경해, 최소한의 신규 코드의 기입을 하는 경우, 그것이 최적인 상태입니다만), 막대한 수의 DocumentListener 를 보관 유지하는 것은 불가능합니다. 각 뷰가 모델에 대기한다고 하면, 실제로는 대부분의 뷰는 지정된 시간에 보내지는 변경에 관련될 수 없습니다. 모델에게는 뷰에 관한 정보가 없기 때문에, 변경 정보의 전송을 필터 하는 방법이 없습니다. 대신에, 뷰 계층 자신이 변경 정보의 송신을 실시합니다. 뷰 계층의 어느 레벨에서도, 상세한 변경 정보를 효율적으로 분배하기 위해서, 뷰의 아이에 관한 정보는 충분히 있습니다. 따라서, 변경은 뷰 계층 루트로부터 보내집니다. 이것은 다음의 메소드가 실행합니다.


필드의 개요
static int BadBreakWeight
          포맷 목적으로 하기에는 불완전한 분할의 기회인 뷰를 나타내는 웨이트입니다.
static int ExcellentBreakWeight
          분할을 지원하고 있는 뷰를 나타내는 웨이트로, 분할하는데 적합한 위치인 것을 나타내고 있습니다.
static int ForcedBreakWeight
          분할을 지원하고 있는 뷰를 나타내는 웨이트로, 아이를 분할하는 것으로 아이를 포맷 하는 뷰에 배치되고 있는 경우에, 뷰를 올바르게 나타내려면 분할하지 않으면 안됩니다.
static int GoodBreakWeight
          분할을 지원하고 있는 뷰를 나타내는 웨이트입니다만, 좀 더 좋을 기회가 존재할 가능성이 있습니다.
static int X_AXIS
          포맷/분할 처리의 축입니다.
static int 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
 
생성자 의 개요
View (Element  elem)
          새로운 View 객체를 작성합니다.
 
메소드의 개요
 void append (View  v)
          1 살의 아이 뷰를 추가합니다.
 View breakView (int axis, int offset, float pos, float len)
          지정된 축으로 이 뷰의 분할을 시도합니다.
 void changedUpdate (DocumentEvent  e, Shape  a, ViewFactory  f)
          이 뷰가 취급하는 위치에서 속성이 변경된 것을 문서로부터 통지합니다.
 View createFragment (int p0, int p1)
          요소의 일부분을 나타내는 뷰를 작성합니다.
protected  void forwardUpdate (DocumentEvent.ElementChange  ec, DocumentEvent  e, Shape  a, ViewFactory  f)
          지정된 DocumentEvent 를 모델의 변경 통지가 필요한 아이 뷰에 전송 합니다.
protected  void forwardUpdateToView (View  v, DocumentEvent  e, Shape  a, ViewFactory  f)
          지정된 아이 뷰에 DocumentEvent 를 전송 합니다.
 float getAlignment (int axis)
          축으로 따른 이 뷰의 바람직한 레이아웃을 결정합니다.
 AttributeSet getAttributes ()
          draw 할 경우에 사용하는 속성을 꺼냅니다.
 int getBreakWeight (int axis, float pos, float len)
          이 뷰로 분할의 웨이트가 어느 정도 적절한가를 나타냅니다.
 Shape getChildAllocation (int index, Shape  a)
          지정된 아이 뷰의 할당을 꺼냅니다.
 Container getContainer ()
          뷰를 수용하는 컨테이너를 꺼냅니다.
 Document getDocument ()
          뷰에 관련한 모델을 꺼냅니다.
 Element getElement ()
          이 뷰가 매핑 되는 대상의 구조 부분을 꺼냅니다.
 int getEndOffset ()
          이 뷰가 취급하는 모델의 일부를 꺼냅니다.
 Graphics getGraphics ()
          draw를 위한 Graphics 를 가져옵니다.
 float getMaximumSpan (int axis)
          이 뷰의 최대 스팬을 축으로 따라 지정합니다.
 float getMinimumSpan (int axis)
          이 뷰의 최소 스팬을 축으로 따라 지정합니다.
 int getNextVisualPositionFrom (int pos, Position.Bias  b, Shape  a, int direction, Position.Bias [] biasRet)
          caret가 배치될 가능성이 있는, 시각적으로 나타내진 다음의 모델 위치를 결정하는 수단을 제공합니다.
 View getParent ()
          뷰의 부모를 돌려줍니다.
abstract  float getPreferredSpan (int axis)
          이 뷰에 적절한 스팬을 축으로 따라 지정합니다.
 int getResizeWeight (int axis)
          지정된 축으로 따라 뷰의 사이즈를 변경할 수 있을지 어떨지를 지정합니다.
 int getStartOffset ()
          이 뷰가 취급하는 모델의 일부를 꺼냅니다.
 String getToolTipText (float x, float y, Shape  allocation)
          지정된 위치에 있는 툴팁의 텍스트를 돌려줍니다.
 View getView (int n)
          n 번째의 아이 뷰를 돌려줍니다.
 int getViewCount ()
          이 뷰내의 뷰의 수를 돌려줍니다.
 ViewFactory getViewFactory ()
          뷰 계층을 공급하고 있는 ViewFactory 의 구현을 꺼냅니다.
 int getViewIndex (float x, float y, Shape  allocation)
          뷰내의 지정된 위치를 나타내는 아이 뷰인젝스를 돌려줍니다.
 int getViewIndex (int pos, Position.Bias  b)
          모델내의 지정된 위치를 나타내는 아이 뷰의 인덱스를 돌려줍니다.
 void insert (int offs, View  v)
          1 살의 아이 뷰를 삽입합니다.
 void insertUpdate (DocumentEvent  e, Shape  a, ViewFactory  f)
          이 뷰가 취급하는 위치에서 문서에 무엇인가가 삽입된 것을 통지합니다.
 boolean isVisible ()
          뷰가 가시인가 어떤가를 나타내는 boolean 형의 값을 돌려줍니다.
 Shape modelToView (int p0, Position.Bias  b0, int p1, Position.Bias  b1, Shape  a)
          지정한 범위에 대해, 문서 모델 좌표 공간으로부터 뷰 좌표 공간에의 맵을 제공합니다.
 Shape modelToView (int pos, Shape  a)
          추천 되고 있지 않습니다.   
abstract  Shape modelToView (int pos, Shape  a, Position.Bias  b)
          지정한 몬지에 도착해, 문서 모델 좌표 공간으로부터 뷰 좌표 공간에의 맵을 제공합니다.
abstract  void paint (Graphics  g, Shape  allocation)
          지정된 draw 표면 및 그 표면상의 영역을 사용해 draw 합니다.
 void preferenceChanged (View  child, boolean width, boolean height)
          아이 뷰는 부모로 이 메소드를 호출해, 설정이 변경된 것, 및 재차 레이아웃이 고려되지 않으면 안 되는 것을 나타낼 수가 있습니다.
 void remove (int i)
          지정된 위치에 있는 아이를 1 살 삭제합니다.
 void removeAll ()
          모든 아이를 삭제합니다.
 void removeUpdate (DocumentEvent  e, Shape  a, ViewFactory  f)
          이 뷰가 취급하는 문서내의 위치로부터 무엇인가가 삭제되었다고 하는 것을 통지합니다.
 void replace (int offset, int length, View [] views)
          아이 뷰를 치환합니다.
 void setParent (View  parent)
          이 뷰의 친뷰를 확립합니다.
 void setSize (float width, float height)
          뷰의 사이즈를 설정합니다.
protected  boolean updateChildren (DocumentEvent.ElementChange  ec, DocumentEvent  e, ViewFactory  f)
          모델이 변경되었다고 하는 통지를 받으면(자), 아이 뷰를 갱신합니다.
protected  void updateLayout (DocumentEvent.ElementChange  ec, DocumentEvent  e, Shape  a)
          모델로부터 변경의 통지를 받았을 경우에, 레이아웃을 갱신합니다.
 int viewToModel (float x, float y, Shape  a)
          추천 되고 있지 않습니다.   
abstract  int viewToModel (float x, float y, Shape  a, Position.Bias [] biasReturn)
          뷰의 좌표 공간으로부터 모델의 논리 좌표 공간에의 매핑을 제공합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

BadBreakWeight

public static final int BadBreakWeight
포맷 목적으로 하기에는 불완전한 분할의 기회인 뷰를 나타내는 웨이트입니다. 이 값은, 뷰가 단편화를 지원하도록(듯이) 기술되어 있지 않기 때문에, 뷰를 fragment에 분할해서는 안 되는 것을 나타냅니다.

관련 항목:
getBreakWeight(int, float, float) , GoodBreakWeight , ExcellentBreakWeight , ForcedBreakWeight , 정수 필드치

GoodBreakWeight

public static final int GoodBreakWeight
분할을 지원하고 있는 뷰를 나타내는 웨이트입니다만, 좀 더 좋을 기회가 존재할 가능성이 있습니다.

관련 항목:
getBreakWeight(int, float, float) , BadBreakWeight , ExcellentBreakWeight , ForcedBreakWeight , 정수 필드치

ExcellentBreakWeight

public static final int ExcellentBreakWeight
분할을 지원하고 있는 뷰를 나타내는 웨이트로, 분할하는데 적합한 위치인 것을 나타내고 있습니다.

관련 항목:
getBreakWeight(int, float, float) , BadBreakWeight , GoodBreakWeight , ForcedBreakWeight , 정수 필드치

ForcedBreakWeight

public static final int ForcedBreakWeight
분할을 지원하고 있는 뷰를 나타내는 웨이트로, 아이를 분할하는 것으로 아이를 포맷 하는 뷰에 배치되고 있는 경우에, 뷰를 올바르게 나타내려면 분할하지 않으면 안됩니다.

관련 항목:
getBreakWeight(int, float, float) , BadBreakWeight , GoodBreakWeight , ExcellentBreakWeight , 정수 필드치

X_AXIS

public static final int X_AXIS
포맷/분할 처리의 축입니다.

관련 항목:
정수 필드치

Y_AXIS

public static final int Y_AXIS
포맷/분할 처리의 축입니다.

관련 항목:
정수 필드치
생성자 의 상세

View

public View(Element  elem)
새로운 View 객체를 작성합니다.

파라미터:
elem - 표현 대상의 Element
메소드의 상세

getParent

public View  getParent()
뷰의 부모를 돌려줍니다.

반환값:
부모, 또는 지정되어 있지 않은 경우는 null

isVisible

public boolean isVisible()
뷰가 가시인가 어떤가를 나타내는 boolean 형의 값을 돌려줍니다. 디폴트에서는 모든 뷰가 가시입니다.

반환값:
항상 true 를 돌려준다

getPreferredSpan

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

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

getMinimumSpan

public float getMinimumSpan(int axis)
이 뷰의 최소 스팬을 축으로 따라 지정합니다.

파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
반환값:
뷰를 draw 할 수 있는 최소 스팬
관련 항목:
getPreferredSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)
이 뷰의 최대 스팬을 축으로 따라 지정합니다.

파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
반환값:
뷰를 draw 할 수 있는 최대 스팬
관련 항목:
getPreferredSpan(int)

preferenceChanged

public void preferenceChanged(View  child,
                              boolean width,
                              boolean height)
아이 뷰는 부모로 이 메소드를 호출해, 설정이 변경된 것, 및 재차 레이아웃이 고려되지 않으면 안 되는 것을 나타낼 수가 있습니다. 디폴트에서는, 이 메소드는 단순하게 다음의 부모를 향해 통지합니다. 르트뷰는, 관련한 텍스트 컴퍼넌트로 revalidate 를 호출합니다.

파라미터:
child - 자 뷰
width - 폭의 설정이 변경되고 있는 경우는 true
height - 높이의 설정이 변경되고 있는 경우는 true
관련 항목:
JComponent.revalidate()

getAlignment

public float getAlignment(int axis)
축으로 따른 이 뷰의 바람직한 레이아웃을 결정합니다. 바람직한 레이아웃이 돌려주어집니다. 값의 범위는 0.0 ~ 1.0 으로, 0 은 기점에의 배치, 1.0 은 기점으로부터 최대에 떨어진 배치를 나타냅니다. 0.5 는, 뷰의 중앙에의 배치가 됩니다.

파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
반환값:
치 0.5

paint

public abstract void paint(Graphics  g,
                           Shape  allocation)
지정된 draw 표면 및 그 표면상의 영역을 사용해 draw 합니다. 뷰는, 지정된 할당에 그 자체를 draw 하기 위해서, 레이아웃을 행하거나 아이 뷰를 작성하거나 할 필요가 있는 경우가 있습니다.

파라미터:
g - 사용하는 draw 표면
allocation - draw를 위해서(때문에) 할당할 수 있었던 영역

setParent

public void setParent(View  parent)
이 뷰의 친뷰를 확립합니다. 친뷰가 올바르게 기능하고 있는 경우, 이 메소드는 다른 메소드보다 반드시 전에 불려 갑니다. 또, 이 메소드는 계층으로부터 뷰가 삭제된 것을 나타내기 위해서(때문에)도 불려 가므로, 마지막에 불려 가는 메소드이기도 합니다. 이 메소드가 불려 가 부모가 null 로 설정될 때는, 각 자에 대해서도 같은 것이 이 메소드에 의해 행해져 뷰트리로부터 절단 되었다고 하는 통지가 전달됩니다. 이 메소드를 재구현하는 경우는,super.setParent() 를 호출할 필요가 있습니다.

파라미터:
parent - 새로운 부모. 뷰가 부모로부터 삭제되는 경우는 null

getViewCount

public int getViewCount()
이 뷰내의 뷰의 수를 돌려줍니다. 디폴트에서는 복합 뷰가 되지 않기 때문에, 이 메소드는 0 을 돌려줍니다.

반환값:
뷰의 수 >= 0
관련 항목:
getViewCount()

getView

public View  getView(int n)
n 번째의 아이 뷰를 돌려줍니다. 디폴트에서는 아이가 없기 때문에, 이 메소드는 null 를 돌려줍니다.

파라미터:
n - 취득하는 뷰의 번호 >= 0 && < getViewCount()
반환값:

removeAll

public void removeAll()
모든 아이를 삭제합니다. replace 의 간이 호출입니다.

도입된 버젼:
1.3

remove

public void remove(int i)
지정된 위치에 있는 아이를 1 살 삭제합니다. replace 의 간이 호출입니다.

도입된 버젼:
1.3

insert

public void insert(int offs,
                   View  v)
1 살의 아이 뷰를 삽입합니다. replace 의 간이 호출입니다.

파라미터:
offs - 뷰를 삽입하는 위치의 오프셋(offset) >= 0
v - 뷰
도입된 버젼:
1.3
관련 항목:
replace(int, int, javax.swing.text.View[])

append

public void append(View  v)
1 살의 아이 뷰를 추가합니다. replace 의 간이 호출입니다.

파라미터:
v - 뷰
도입된 버젼:
1.3
관련 항목:
replace(int, int, javax.swing.text.View[])

replace

public void replace(int offset,
                    int length,
                    View [] views)
아이 뷰를 치환합니다. 삭제하는 뷰가 없는 경우는, 이 메소드가 삽입으로서 동작해, 추가하는 뷰가 없는 경우는, 이 메소드가 삭제로서 동작합니다. 삭제되는 뷰는 null 로 설정된 부모를 가져, 삭제되는 뷰의 내부를 참조하고 있으므로, 가베지 컬렉트가 가능합니다. 디폴트에서는 뷰에 아이가 없기 때문에, 구현해도 아무것도 행해지지 않습니다.

파라미터:
offset - 신규 뷰를 삽입하기 위한 , 아이 뷰의 개시 인덱스. 이 값은 0 이상으로, getViewCount 이하
length - 삭제하는 기존의 아이 뷰의 수. 이 값은 0 이상으로, (getViewCount() - offset) 이하
views - 추가하는 아이 뷰. 추가되는 아이가 없는 경우는,null 도 가능 (삭제에 편리)
도입된 버젼:
1.3

getViewIndex

public int getViewIndex(int pos,
                        Position.Bias  b)
모델내의 지정된 위치를 나타내는 아이 뷰의 인덱스를 돌려줍니다. 디폴트에서는, 뷰에 아이가 없기 때문에, 모든 위치에 대해서 유효한 아이 인덱스가 없는 것을 나타내려면,-1 를 돌려주도록(듯이) 구현되고 있습니다.

파라미터:
pos - 위치 >= 0
반환값:
지정된 위치를 나타내는 뷰의 인덱스. 그 위치를 나타내는 뷰가 없는 경우는 -1
도입된 버젼:
1.3

getChildAllocation

public Shape  getChildAllocation(int index,
                                Shape  a)
지정된 아이 뷰의 할당을 꺼냅니다. 이 메소드를 사용하면(자), 뷰가 그러한 위치를 포함하고 있는 것을 가정하는 일 없이, 다양한 뷰가 어디에 있을까를 알 수 있습니다. 디폴트에서는 아이 뷰를 가지지 않기 때문에, 이 메소드는 null 를 돌려줍니다.

파라미터:
index - 자의 인덱스. 0 이상으로 getViewCount() 보다 작은 값
a - 이 뷰에 대한 할당
반환값:
자에 대한 할당

getNextVisualPositionFrom

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

파라미터:
pos - 변환 대상의 위치 >>= 0
a - 할당할 수 있었던 draw 영역
direction - 현재 위치로부터의 방향. 이것은, 키보드에 일반적으로 존재하는 커서 키라고 볼 수가 있어 다음의 어떤 것인가가 된다
  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
반환값:
다음의 가시의 위치를 가장 자주(잘) 나타내는 모델내의 위치
예외:
BadLocationException
IllegalArgumentException - direction 가 전술의 정당한 값의 어떤 것도 아닌 경우

modelToView

public abstract Shape  modelToView(int pos,
                                  Shape  a,
                                  Position.Bias  b)
                           throws BadLocationException 
지정한 몬지에 도착해, 문서 모델 좌표 공간으로부터 뷰 좌표 공간에의 맵을 제공합니다.

파라미터:
pos - 바람직한 문자의 위치 (>= 0)
a - 뷰의 영역. 요구된 문자가 포함되는
b - 위치가 2 개의 뷰의 경계인 경우에, 오프셋(offset)에 의해 나타내지기 직전의 문자 또는 다음의 문자에의 바이어스. b 의 값은 다음의 어느 쪽인지 1개가 된다
  • Position.Bias.Forward
  • Position.Bias.Backward
반환값:
뷰 좌표 공간내의, 지정한 위치에 있는 문자의 바운딩 박스
예외:
BadLocationException - 지정된 위치가, 관련하는 문서내의 유효한 위치를 나타내지 않는 경우
IllegalArgumentException - b 가 전술의 정당한 Position.Bias 치의 어떤 것도 아닌 경우
관련 항목:
viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

modelToView

public Shape  modelToView(int p0,
                         Position.Bias  b0,
                         int p1,
                         Position.Bias  b1,
                         Shape  a)
                  throws BadLocationException 
지정한 범위에 대해, 문서 모델 좌표 공간으로부터 뷰 좌표 공간에의 맵을 제공합니다. 지정한 범위는, 최초의 문자의 위치와 마지막 문자의 위치와의 화집합으로서 작성됩니다.

파라미터:
p0 - 최초의 문자의 위치 >= 0
b0 - 위치가 2 개의 뷰의 경계인 경우에, 오프셋(offset)에 의해 나타내지기 직전의 문자 또는 다음의 문자에의 최초의 문자의 바이어스. b0 의 값은 다음의 어떤 것인가가 된다
  • Position.Bias.Forward
  • Position.Bias.Backward
p1 - 마지막 문자의 위치 (>= 0)
b1 - 2 번째의 문자 위치에 있어서의 바이어스. 상기의 적정한 값의 어떤 것이나
a - 뷰의 영역에서. 요구된 범위가 포함된다
반환값:
최초의 문자의 위치와 마지막 문자의 위치로 지정되는 범위의 화집합인 바운딩 박스
예외:
BadLocationException - 지정된 위치가, 관련하는 문서내의 유효한 위치를 나타내지 않는 경우
IllegalArgumentException - b0 또는 b1 가 상기의 정당한 Position.Bias 치의 어떤 것도 아닌 경우
관련 항목:
viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

viewToModel

public abstract int viewToModel(float x,
                                float y,
                                Shape  a,
                                Position.Bias [] biasReturn)
뷰의 좌표 공간으로부터 모델의 논리 좌표 공간에의 매핑을 제공합니다. biasReturn 인수는, 지정된 점이 모델내의 다음의 문자와 가까운 것인지, 혹은 모델내의 앞의 문자와 가까운 것인지를 나타냅니다.

파라미터:
x - X 좌표 >= 0
y - Y 좌표 >= 0
a - 할당할 수 있었던 draw 영역
반환값:
지정된 뷰내의 점을 무엇보다 적절히 나타내는 모델내의 위치. 0 이상. biasReturn 인수는, 지정된 점이 모델내의 다음의 문자와 가까운 것인지, 모델내의 앞의 문자와 가까운 것인지를 나타낸다

insertUpdate

public void insertUpdate(DocumentEvent  e,
                         Shape  a,
                         ViewFactory  f)
이 뷰가 취급하는 위치에서 문서에 무엇인가가 삽입된 것을 통지합니다. 서브 클래스에의 부하를 가볍게하기 위해(때문에), 이 기능은, 서브 클래스가 재구현할 수 있는 이하의 호출에 확장됩니다.
  1. 이 뷰가 취급하는 요소에 대해서 변경이 있었을 경우,updateChildren 이 불려 간다. 이 뷰가, 아이의 요소를 나타내는 아이 뷰를 가지는 경우, 아이 뷰가 올바르게 모델을 나타내도록(듯이), 이 메소드는 필요한 일을 모두 실행한다
  2. DocumentEvent 를 적절한 아이 뷰에 전송 하기 위해서,forwardUpdate 가 불려 간다
  3. 뷰의 레이아웃을 수복, 재스케줄, 또는 아무것도 처리하지 않기 위한 기회를 뷰에게 주기 위해서(때문에),updateLayout 가 불려 간다

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

removeUpdate

public void removeUpdate(DocumentEvent  e,
                         Shape  a,
                         ViewFactory  f)
이 뷰가 취급하는 문서내의 위치로부터 무엇인가가 삭제되었다고 하는 것을 통지합니다. 서브 클래스에의 부하를 가볍게하기 위해(때문에), 이 기능은, 서브 클래스가 재구현할 수 있는 이하의 호출에 확장됩니다.
  1. 이 뷰가 취급하는 요소에 대해서 변경이 있었을 경우,updateChildren 이 불려 간다. 이 뷰가, 아이의 요소를 나타내는 아이 뷰를 가지는 경우, 아이 뷰가 올바르게 모델을 나타내도록(듯이), 이 메소드는 필요한 일을 모두 실행한다
  2. DocumentEvent 를 적절한 아이 뷰에 전송 하기 위해서,forwardUpdate 가 불려 간다
  3. 뷰의 레이아웃을 수복, 재스케줄, 또는 아무것도 처리하지 않기 위한 기회를 뷰에게 주기 위해서(때문에),updateLayout 가 불려 간다

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

changedUpdate

public void changedUpdate(DocumentEvent  e,
                          Shape  a,
                          ViewFactory  f)
이 뷰가 취급하는 위치에서 속성이 변경된 것을 문서로부터 통지합니다. 서브 클래스에의 부하를 가볍게하기 위해(때문에), 이 기능은, 서브 클래스가 재구현할 수 있는 이하의 호출에 확장됩니다.
  1. 이 뷰가 취급하는 요소에 대해서 변경이 있었을 경우,updateChildren 이 불려 간다. 이 뷰가, 아이의 요소를 나타내는 아이 뷰를 가지는 경우, 아이 뷰가 올바르게 모델을 나타내도록(듯이), 이 메소드는 필요한 일을 모두 실행한다
  2. DocumentEvent 를 적절한 아이 뷰에 전송 하기 위해서,forwardUpdate 가 불려 간다
  3. 뷰의 레이아웃을 수복, 재스케줄, 또는 아무것도 처리하지 않기 위한 기회를 뷰에게 주기 위해서(때문에),updateLayout 가 불려 간다

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

getDocument

public Document  getDocument()
뷰에 관련한 모델을 꺼냅니다.

반환값:
뷰모델. 없는 경우는 null
관련 항목:
getDocument()

getStartOffset

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

반환값:
모델내의 개시 오프셋(offset) >= 0
관련 항목:
getStartOffset()

getEndOffset

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

반환값:
모델내의 개시 오프셋(offset) >= 0
관련 항목:
getEndOffset()

getElement

public Element  getElement()
이 뷰가 매핑 되는 대상의 구조 부분을 꺼냅니다. 뷰는, 요소의 전체를 취급하지 않는 경우가 있습니다.

반환값:
건명
관련 항목:
getElement()

getGraphics

public Graphics  getGraphics()
draw를 위한 Graphics 를 가져옵니다. 폰트 문자를 지정하는데 사용됩니다만, 출력 뷰의 경우는 콘포넨트뷰의 경우와 다릅니다.

반환값:
draw용의 Graphics 객체
도입된 버젼:
1.3

getAttributes

public AttributeSet  getAttributes()
draw 할 경우에 사용하는 속성을 꺼냅니다. 디폴트에서는, 이 메소드는 단순하게 관련하는 요소의 속성을 돌려줍니다. 뷰 고유의 속성을 추가할 수 있도록(듯이) 하기 위한(해), 또는 뷰가 서브 클래스에 의한 뷰 고유의 속성의 변환을 가질 수 있도록(듯이) 하기 위해서 속성에의 액세스를 가져오려면 , 요소를 직접 사용하는 것이 아니라, 이 메소드를 사용하지 않으면 안됩니다. 각 뷰는, draw 또는 레이아웃의 목적을 위해서(때문에) 어느 속성을 인식하는지를 기술하지 않으면 안되어, 또 이 메소드에 의해 반환되는 AttributeSet 를 개입시켜 그것들에 항상 액세스 하지 않으면 안됩니다.


breakView

public View  breakView(int axis,
                      int offset,
                      float pos,
                      float len)
지정된 축으로 이 뷰의 분할을 시도합니다. 이 메소드는, 아이의 포맷을 목적으로 하는 뷰에 의해 불려 갑니다. 예를 들어, 단락의 뷰는 일반적으로 그 아이를 행에 배치하려고 해, 텍스트의 체크를 나타내는 뷰는 작게 분할되는 일이 있습니다.  

이 메소드는 뷰 자체를 돌려주기 위해서(때문에) 구현되어 그것은 분할할 수 없는 디폴트의 동작을 나타냅니다. 뷰가 분할을 지원하는 경우, 반환되는 뷰의 개시 오프셋(offset)는 지정된 오프셋(offset)가 아니면 안되어, 종료 오프셋(offset)는 분할되는 뷰의 종료 오프셋(offset) 이하가 아니면 안됩니다.

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

createFragment

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

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

getBreakWeight

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

이 메소드는, 길이가 뷰의 길이보다 긴 경우 (뷰 전체가 fragment를 나타낸다)를 제외해 BadBreakWeight 를 돌려주는 디폴트의 동작을 제공합니다. 뷰가 분할 동작을 지원하도록(듯이) 기술되어 있지 않은 한, 뷰를 분할하려고 하는 것은 적절하지는 않습니다. 분할을 지원하는 뷰에는 LabelView 등이 있습니다. 분할 웨이트를 사용하는 뷰에는 ParagraphView 등이 있습니다.

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

getResizeWeight

public int getResizeWeight(int axis)
지정된 축으로 따라 뷰의 사이즈를 변경할 수 있을지 어떨지를 지정합니다. 값이 0 이하의 경우는 사이즈 변경할 수 없습니다.

파라미터:
axis - View.X_AXIS 또는 View.Y_AXIS
반환값:
웨이트

setSize

public void setSize(float width,
                    float height)
뷰의 사이즈를 설정합니다. 레이아웃의 필요가 있는 경우는, 지정한 축으로 따른 뷰의 레이아웃을 표시합니다.

파라미터:
width - 폭 >= 0
height - 높이 >= 0

getContainer

public Container  getContainer()
뷰를 수용하는 컨테이너를 꺼냅니다. 이것은, 재draw의 스케줄링, 수용측 컴퍼넌트 폰트의 검색 등에 편리합니다. 디폴트의 구현에서는, 조회를 친뷰에 전송 합니다.

반환값:
컨테이너. 없는 경우는 null

getViewFactory

public ViewFactory  getViewFactory()
뷰 계층을 공급하고 있는 ViewFactory 의 구현을 꺼냅니다. 뷰에는 일반적으로, 가장 팩토리를 필요로 할 때 모델로부터 갱신하기 위한 인수로서 건네받습니다만, 이 메소드는 그 이외 때에 구현을 제공하기 위해서 기능합니다.

반환값:
팩토리. 없는 경우는 null

getToolTipText

public String  getToolTipText(float x,
                             float y,
                             Shape  allocation)
지정된 위치에 있는 툴팁의 텍스트를 돌려줍니다. 디폴트의 구현에서는, 건네받은 위치에 의해 특정되는 아이 뷰로부터 값을 돌려줍니다.

도입된 버젼:
1.4
관련 항목:
JTextComponent.getToolTipText(java.awt.event.MouseEvent)

getViewIndex

public int getViewIndex(float x,
                        float y,
                        Shape  allocation)
뷰내의 지정된 위치를 나타내는 아이 뷰인젝스를 돌려줍니다. 이것은, 모든 아이에 대해 반복해져 좌표 (x, y)를 포함한 경계를 가지는 최초의 아이를 돌려줍니다.

파라미터:
x - x 좌표
y - y 좌표
allocation - 뷰의 현재의 할당
반환값:
지정된 위치를 나타내는 뷰의 인덱스. 그 위치를 나타내는 뷰가 없는 경우는 -1
도입된 버젼:
1.4

updateChildren

protected boolean updateChildren(DocumentEvent.ElementChange  ec,
                                 DocumentEvent  e,
                                 ViewFactory  f)
모델이 변경되었다고 하는 통지를 받으면(자), 아이 뷰를 갱신합니다. 이 뷰가 취급하는 요소의 변경 기록이 있습니다. 이 메소드의 구현에서는, 이 뷰가 나타내는 요소의 아이 요소를, 아이 뷰가 직접 취급하면(자) 상정합니다. ViewFactory 은,ElementChange 내의 추가로서 지정된, 그 ElementChange 내의 특정의 인덱스로부터 시작되는, 각 요소의 아이 뷰를 작성하기 위해서 사용됩니다. 지정된 삭제되는 요소를 나타내는 아이 뷰의 수는 삭제됩니다.

파라미터:
ec - 이 뷰가 취급하는 요소에의 변경 정보. 이 메소드가 불려 가지 않는 경우는 null 는 되지 않는
e - 관련하는 문서로부터의 변경 정보
f - 자 뷰의 구축에 사용하는 팩토리
반환값:
이 뷰가 취급하는 요소의 아이 요소를, 아이 뷰가 나타낼지 어떨지. 일부의 뷰에서는 취급하는 요소의 일부를 나타내는 아이를 작성해, false 가 반환된다. 이 정보는, 추가된 요소의 범위의 뷰가 전송 될지 어떨지를 지정하는데 사용되는
도입된 버젼:
1.3
관련 항목:
insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) , removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) , changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

forwardUpdate

protected void forwardUpdate(DocumentEvent.ElementChange  ec,
                             DocumentEvent  e,
                             Shape  a,
                             ViewFactory  f)
지정된 DocumentEvent 를 모델의 변경 통지가 필요한 아이 뷰에 전송 합니다. 이 뷰가 취급하는 요소로 변경이 있었을 경우, 전송 때에 고려합니다 (새로운 아이 뷰가 통지를 받지 않는 등).

파라미터:
ec - 이 뷰가 취급하는 요소에의 변경. 변경이 없었던 경우,null 가 될 가능성이 있는
e - 관련하는 문서로부터의 변경 정보
a - 뷰의 현재의 할당
f - 뷰가 아이를 가지는 경우에 재구축에 사용하는 팩토리
도입된 버젼:
1.3
관련 항목:
insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) , removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) , changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

forwardUpdateToView

protected void forwardUpdateToView(View  v,
                                   DocumentEvent  e,
                                   Shape  a,
                                   ViewFactory  f)
지정된 아이 뷰에 DocumentEvent 를 전송 합니다. 이 메소드는, 이벤트의 타입에 좌우되는 insertUpdate,removeUpdate, 또는 changedUpdate 에의 호출을 가지는 뷰를 송신할 뿐입니다. 이벤트가 필요한 아이에게 이벤트를 전송 할 경우에,forwardUpdate 로 불려 갑니다.

파라미터:
v - 이벤트를 아이 뷰에 전송 하는
e - 관련하는 문서로부터의 변경 정보
a - 뷰의 현재의 할당
f - 뷰가 아이를 가지는 경우에 재구축에 사용하는 팩토리
도입된 버젼:
1.3
관련 항목:
forwardUpdate(javax.swing.event.DocumentEvent.ElementChange, javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

updateLayout

protected void updateLayout(DocumentEvent.ElementChange  ec,
                            DocumentEvent  e,
                            Shape  a)
모델로부터 변경의 통지를 받았을 경우에, 레이아웃을 갱신합니다. ElementChange 기록이 null 가 아닌 경우, 새로운 레이아웃이 재스케줄 되도록(듯이),preferenceChanged 를 호출하기 위해서(때문에) 구현됩니다.

파라미터:
ec - 이 뷰가 취급하는 요소에의 변경. 변경이 없었던 경우,null 가 될 가능성이 있는
e - 관련하는 문서로부터의 변경 정보
a - 뷰의 현재의 할당
도입된 버젼:
1.3
관련 항목:
insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) , removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) , changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

modelToView

@Deprecated 
public Shape  modelToView(int pos,
                                    Shape  a)
                  throws BadLocationException 
추천 되고 있지 않습니다.  

문서 모델의 좌표 공간으로부터 뷰의 좌표 공간에의 매핑을 제공합니다. 이것은, 바이어스의 디폴트를 이전에 암시된 Position.Bias.Forward 로 하기 위해서(때문에) 구현됩니다.

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

viewToModel

@Deprecated 
public int viewToModel(float x,
                                  float y,
                                  Shape  a)
추천 되고 있지 않습니다.  

뷰의 좌표 공간으로부터 모델의 논리 좌표 공간에의 매핑을 제공합니다.

파라미터:
x - X 좌표 >= 0
y - Y 좌표 >= 0
a - 할당할 수 있었던 draw 영역
반환값:
지정된 뷰내의 점을 무엇보다 적절히 나타내는 모델내의 위치. 0 이상
관련 항목:
viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

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 도 참조해 주세요.