JavaTM Platform
Standard Ed. 6

javax.swing.text
클래스 ZoneView

java.lang.Object 
  상위를 확장 javax.swing.text.View 
      상위를 확장 javax.swing.text.CompositeView 
          상위를 확장 javax.swing.text.BoxView 
              상위를 확장 javax.swing.text.ZoneView
모든 구현된 인터페이스:
SwingConstants


public class ZoneView
extends BoxView

ZoneView 는 View 의 구현으로, 아이 뷰가 표시 또는 모델과 뷰의 변환을 위해서(때문에) 필요하게 될 때까지 생성 또는 포함되지 않는 존을 생성합니다. 이 기능을 사용하면(자), 나타내지고 있는 모델이 매우 큰 경우에, 액티브하게 표시, 편집되고 있는 영역만의 뷰객체를 구축하는 것으로, 큰폭으로 메모리의 소비를 삭감할 수 있습니다. 아이의 사이즈는 추측하는 일도 보존된 결과만으로 비동기에게 계산할 수도 있습니다.

ZoneView 는 아이의 존을 구현하는 박스를 제공하기 위해서 BoxView 를 확장합니다. 존은 클래스의 인스턴스의 아이라고 하는 특별한 View 구현으로, ZoneView 의 인스턴스가 관계되어 있는 모델의 부분만큼을 나타냅니다. 존은 아이의 뷰의 표시가 시도될 때까지 아이 뷰를 생성하지 않습니다. 박스형의 뷰는 다음의 이유에 의해 적합합니다.

디폴트의 동작은, maxZoneSize 와 maxZonesLoaded 의 2 개의 프로퍼티이 제어하고 있습니다. maxZoneSize 를 Integer.MAX_VALUE 로 설정하면(자) 존을 1개 밖에 생성하지 않는다고 하는 효과가 있습니다. 그 때문에, 뷰를 효과적으로 데코레이타파탄의 구현에 바꿀 수가 있습니다. maxZonesLoaded 를 Integer.MAX_VALUE 의 값으로 설정하면(자), 존의 언로드는 할 수 없습니다. 간단하게 말하면(자), 뷰가 관계되어 있는 요소의 아이 요소가 나타내지고 있는 경계에 생성됩니다. 존은 임의의 View 구현이 될 수가 있습니다만, 디폴트의 구현은 꽤 큰 존을 지원하고 있는 AsyncBoxView 가 기본으로 됩니다.

도입된 버젼:
1.3
관련 항목:
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
 
생성자 의 개요
ZoneView (Element  elem, int axis)
          ZoneView 를 구축합니다.
 
메소드의 개요
protected  View createZone (int p0, int p1)
          이 객체가 취급하는 범위내에 있는 모델내의 지정 범위내의 존을 나타내는 뷰를 생성합니다.
 int getMaximumZoneSize ()
          현재의 존 사이즈의 최대치를 가져옵니다.
 int getMaxZonesLoaded ()
          동시에 로드할 수 있는 존수의 현재의 설정을 가져옵니다.
protected  int getViewIndexAtPosition (int pos)
          모델내의 지정된 위치를 나타내는 아이 뷰의 인덱스를 돌려줍니다.
 void insertUpdate (DocumentEvent  changes, Shape  a, ViewFactory  f)
          이 뷰가 취급하는 위치에서 문서에 무엇인가가 삽입된 것을 통지합니다.
protected  boolean isZoneLoaded (View  zone)
          존이 로드 상태에 있을지 어떨지를 판정합니다.
protected  void loadChildren (ViewFactory  f)
          뷰를 초기화하기 위해서 모든 아이를 로드합니다.
 void removeUpdate (DocumentEvent  changes, Shape  a, ViewFactory  f)
          이 뷰가 취급하는 문서내의 위치로부터 무엇인가가 삭제되었다고 하는 것을 통지합니다.
 void setMaximumZoneSize (int size)
          바람직한 최대 존 사이즈를 설정합니다.
 void setMaxZonesLoaded (int mzl)
          동시에 로드할 수 있는 존수의 현재의 설정을 설정합니다.
protected  void unloadZone (View  zone)
          존을 성 메모리 상태로 변환해, 존을 언로드합니다.
protected  boolean updateChildren (DocumentEvent.ElementChange  ec, DocumentEvent  e, ViewFactory  f)
          슈퍼 클래스의 동작에 의해, 아이 뷰의 갱신이 시도됩니다.
protected  void zoneWasLoaded (View  zone)
          로드 되면(자) 존에 의해 불려 갑니다.
 
클래스 javax.swing.text. BoxView 로부터 상속된 메소드
baselineLayout , baselineRequirements , calculateMajorAxisRequirements , calculateMinorAxisRequirements , childAllocation , flipEastAndWestAtEnds , forwardUpdate , getAlignment , getAxis , getChildAllocation , getHeight , getMaximumSpan , getMinimumSpan , getOffset , getPreferredSpan , getResizeWeight , getSpan , getViewAtPoint , getWidth , isAfter , isAllocationValid , isBefore , isLayoutValid , layout , layoutChanged , layoutMajorAxis , layoutMinorAxis , modelToView , paint , paintChild , preferenceChanged , replace , setAxis , setSize , viewToModel
 
클래스 javax.swing.text. CompositeView 로부터 상속된 메소드
getBottomInset , getInsideAllocation , getLeftInset , getNextEastWestVisualPositionFrom , getNextNorthSouthVisualPositionFrom , getNextVisualPositionFrom , getRightInset , getTopInset , getView , getViewAtPosition , getViewCount , getViewIndex , modelToView , setInsets , setParagraphInsets , setParent
 
클래스 javax.swing.text. View 로부터 상속된 메소드
append , breakView , changedUpdate , createFragment , forwardUpdateToView , getAttributes , getBreakWeight , getContainer , getDocument , getElement , getEndOffset , getGraphics , getParent , getStartOffset , getToolTipText , getViewFactory , getViewIndex , insert , isVisible , modelToView , remove , removeAll , updateLayout , viewToModel
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

ZoneView

public ZoneView(Element  elem,
                int axis)
ZoneView 를 구축합니다.

파라미터:
elem - 이 뷰가 취급하는 요소
axis - View.X_AXIS 또는 View.Y_AXIS
메소드의 상세

getMaximumZoneSize

public int getMaximumZoneSize()
현재의 존 사이즈의 최대치를 가져옵니다.


setMaximumZoneSize

public void setMaximumZoneSize(int size)
바람직한 최대 존 사이즈를 설정합니다. 존은 아이 뷰의 경계에 생성되기 (위해)때문에, 하나의 아이 뷰가 이 사이즈보다 큰 경우는, 존은 이 사이즈보다 커지는 경우가 있습니다.

파라미터:
size - 존을 작게 분할하기 전의, 존이 나타낸다 문자수

getMaxZonesLoaded

public int getMaxZonesLoaded()
동시에 로드할 수 있는 존수의 현재의 설정을 가져옵니다.


setMaxZonesLoaded

public void setMaxZonesLoaded(int mzl)
동시에 로드할 수 있는 존수의 현재의 설정을 설정합니다. mzl 가 1 보다 작은 경우는 IllegalArgumentException 가 throw 됩니다.

파라미터:
mzl - 액티브하게 로드 되는 바람직한 최대 존수. 0 보다 큰 값으로 할 필요가 있다
예외:
IllegalArgumentException - mzl 가 1 보다 작은 경우

zoneWasLoaded

protected void zoneWasLoaded(View  zone)
로드 되면(자) 존에 의해 불려 갑니다. 이것은, 언로드 상태에 있던 존에서 표시 또는 모델의 변환, 뷰의 변환을 시도했을 때에 일어납니다. 이것은 존이 최대수에 이르렀는지의 여부를 판정하기 위해서 구현됩니다. 최대수에 이르고 있는 경우는, 제일 낡은 존을 언로드합니다.

파라미터:
zone - 로드 된지 얼마 안된 아이 뷰

unloadZone

protected void unloadZone(View  zone)
존을 성 메모리 상태로 변환해, 존을 언로드합니다. 존은 이 뷰가 취급하는 요소의 아이 요소의 부분집합을 나타냅니다. 따라서, 디폴트의 구현은 단지 모든 아이를 삭제합니다.

파라미터:
zone - 언로드 상태로 설정하는 것이 바람직한 아이 뷰

isZoneLoaded

protected boolean isZoneLoaded(View  zone)
존이 로드 상태에 있을지 어떨지를 판정합니다. 존은 이 뷰가 취급하는 요소의 아이 요소의 부분집합을 나타냅니다. 따라서, 디폴트의 구현은 뷰에 아이가 있는 경우는 true 를 돌려줍니다.


createZone

protected View  createZone(int p0,
                          int p1)
이 객체가 취급하는 범위내에 있는 모델내의 지정 범위내의 존을 나타내는 뷰를 생성합니다. 이 메소드는 존 관리 논리가 새로운 존을 생성하는 것으로 불려 갑니다. 서브 클래스는 이 메소드를 변경해 다른 존 구현을 제공할 수 있습니다.

파라미터:
p0 - 바람직한 존의 개시치. 값은 getStartOffset() 이상으로 getEndOffset()보다 작다. 또 p1 보다 작은
p1 - 바람직한 존의 종료치. 값은 getStartOffset()보다 크고 getEndOffset() 이하. 또 p0 보다 크다

loadChildren

protected void loadChildren(ViewFactory  f)
뷰를 초기화하기 위해서 모든 아이를 로드합니다. 이 메소드는,setParent 메소드에 의해 불려 갑니다. 이 메소드를 재구현하면(자), 어느 아이도 (존에 의해 생성되므로) 직접 로드하지 않게 할 수 있습니다. 이 메소드는 존의 초기설정을 생성합니다. 다만, 실제로는 존의 표시 또는 모델 좌표, 뷰 좌표의 변환의 시도를 할 때까지 존은 설정되지 않습니다.

오버라이드(override):
클래스 CompositeView 내의 loadChildren
파라미터:
f - 뷰파크트리
관련 항목:
CompositeView.setParent(javax.swing.text.View)

getViewIndexAtPosition

protected int getViewIndexAtPosition(int pos)
모델내의 지정된 위치를 나타내는 아이 뷰의 인덱스를 돌려줍니다.

오버라이드(override):
클래스 CompositeView 내의 getViewIndexAtPosition
파라미터:
pos - 위치 >= 0
반환값:
지정된 위치를 나타내는 뷰의 인덱스. 그 위치를 나타내는 뷰가 없는 경우는 -1

updateChildren

protected boolean updateChildren(DocumentEvent.ElementChange  ec,
                                 DocumentEvent  e,
                                 ViewFactory  f)
슈퍼 클래스의 동작에 의해, 아이 뷰의 갱신이 시도됩니다. 다만, 아이는 존이며, 관련하는 요소의 변경의 영향을 직접 받지 않기 때문에, 이 동작은 적절하지는 않습니다. 이것을 재구현해도 아무것도 행해지지 않고, false 를 돌려줍니다.

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

insertUpdate

public void insertUpdate(DocumentEvent  changes,
                         Shape  a,
                         ViewFactory  f)
이 뷰가 취급하는 위치에서 문서에 무엇인가가 삽입된 것을 통지합니다. 이것은 슈퍼 클래스에 위양 되고 있습니다만, 재구현해 관련 존을 갱신합니다. 즉, 존을 2 개 이상의 존 세트에 분할할 필요가 있을지 어떨지를 판정합니다.

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

removeUpdate

public void removeUpdate(DocumentEvent  changes,
                         Shape  a,
                         ViewFactory  f)
이 뷰가 취급하는 문서내의 위치로부터 무엇인가가 삭제되었다고 하는 것을 통지합니다. 이것은 슈퍼 클래스에 위양 되고 있습니다만, 재구현해 관련 존을 갱신합니다. 즉, 존을 삭제하는지, 또는 다른 존에 결합할 필요가 있을지 어떨지를 판정합니다.

오버라이드(override):
클래스 View 내의 removeUpdate
파라미터:
changes - 관련하는 문서로부터의 변경 정보
a - 뷰의 현재의 할당
f - 뷰가 아이를 가지는 경우에 재구축에 사용하는 팩토리
관련 항목:
View.removeUpdate(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 도 참조해 주세요.