|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JViewport
public class JViewport
기본이 되는 정보를 보기 위해서(때문에) 사용하는 「뷰포트 (창)」입니다. 스크롤 할 경우에 이동하는 것이 뷰포트입니다. 이것은, 카메라의 파인더를 들여다 보는 것에 닮았습니다. 파인더를 위로 향해 움직이면(자), 새로운 것이 시야의 맨 위에 들어가, 맨 밑에 있던 것이 시야로부터 사라집니다.
디폴트에서는,JViewport 는 불투명합니다. 이것을 변경하는 경우는,setOpaque 메소드를 사용합니다.
주: draw 할 때에 버퍼를 필요로 하지 않는 고속 스크롤 알고리즘을 구현했습니다. 알고리즘의 기능은 다음과 같습니다.
JComponents 화도인지를 조사한다. 그렇지 않은 경우는 중지해, 뷰포트 전체를 페인트 다시 한다
Window 그래픽스를 취득해, 스크롤 한 영역의 copyArea 를 페인트 다시 한다
copyArea 를 2 회 실행하는 것을 피할 수가 있습니다. 배킹 스토어 이외의 경우와 비교하면(자), 페인트 영역을 큰폭으로 삭감할 수 있습니다. 이 방법은, 뷰포트가 다른 윈도우로 숨겨지거나 부분적으로 오프 스크린이 되면(자), 배킹 스토어법보다 속도가 늦어집니다. 다른 윈도우로 뷰포트가 숨겨지면(자), copyArea 는 가베지를 카피해 시스템이 페인트 이벤트를 생성해, 새롭게 출현한 영역을 페인트 할 필요가 있는 것을 알립니다. 이것을 처리하는 유일한 방법은, 뷰포트 전체를 페인트 다시 하는 것 입니다. 다만, 배킹 스토어의 경우와 비교해 퍼포먼스가 저하하는 일이 있습니다. 매우 보기 드문 것은 않습니다만, 뷰포트가 다른 윈도우로 숨겨지고 있을 때 사용자가 스크롤 하는 일이 있기 (위해)때문에, 대부분의 어플리케이션으로 이 최적화 기능은, 뷰포트가 숨겨졌을 경우에 유효가 됩니다.
경고: Swing 는 thread에 대해서 안전하지는 않습니다. 자세한 것은,「Swing's Threading Policy」를 참조해 주세요.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,java.beans 패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder 를 참조해 주세요.
JScrollPane | 상자의 클래스의 개요 | |
|---|---|
protected class |
JViewport.AccessibleJViewport
이 클래스는 JViewport 클래스용의 접근성? 지원를 구현하고 있습니다. |
protected class |
JViewport.ViewListener
뷰의 청취자입니다. |
| 클래스 javax.swing. JComponent 로부터 상속된 상자의 클래스/인터페이스 |
|---|
JComponent.AccessibleJComponent |
| 클래스 java.awt. Container 로부터 상속된 상자의 클래스/인터페이스 |
|---|
Container.AccessibleAWTContainer |
| 클래스 java.awt. Component 로부터 상속된 상자의 클래스/인터페이스 |
|---|
Component.AccessibleAWTComponent , Component.BaselineResizeBehavior , Component.BltBufferStrategy , Component.FlipBufferStrategy |
| 필드의 개요 | |
|---|---|
protected boolean |
backingStore
추천 되고 있지 않습니다. Java 2 플랫폼 v1. 3 이후 |
static int |
BACKINGSTORE_SCROLL_MODE
뷰포트의 컨텐츠를 오프 스크린 이미지에 draw 합니다. |
protected Image |
backingStoreImage
배킹 스토어에 사용되는 뷰이메이지입니다. |
static int |
BLIT_SCROLL_MODE
graphics.copyArea() 를 사용해 스크롤을 구현합니다. |
protected boolean |
isViewSizeSet
뷰포트의 치수가 결정되어 있는 경우에 true 를 돌려줍니다. |
protected Point |
lastPaintPosition
마지막에 페인트 된 viewPosition 입니다. |
protected boolean |
scrollUnderway
scrollUnderway 플래그는,JList 등의 컴퍼넌트로 사용됩니다. |
static int |
SIMPLE_SCROLL_MODE
이 모드는 스크롤 구획을 스크롤 할 때마다 전컨텐츠를 재draw 한다고 하는 매우 간단한 메소드를 사용합니다. |
| 클래스 javax.swing. JComponent 로부터 상속된 필드 |
|---|
accessibleContext , listenerList , TOOL_TIP_TEXT_KEY , ui , UNDEFINED_CONDITION , WHEN_ANCESTOR_OF_FOCUSED_COMPONENT , WHEN_FOCUSED , WHEN_IN_FOCUSED_WINDOW |
| 클래스 java.awt. Component 로부터 상속된 필드 |
|---|
BOTTOM_ALIGNMENT , CENTER_ALIGNMENT , LEFT_ALIGNMENT , RIGHT_ALIGNMENT , TOP_ALIGNMENT |
| 인터페이스 java.awt.image. ImageObserver 로부터 상속된 필드 |
|---|
ABORT , ALLBITS , ERROR , FRAMEBITS , HEIGHT , PROPERTIES , SOMEBITS , WIDTH |
| 생성자 의 개요 | |
|---|---|
JViewport ()
JViewport 를 생성합니다. |
|
| 메소드의 개요 | |
|---|---|
void |
addChangeListener (ChangeListener l)
뷰의 사이즈, 위치, 또는 뷰포트의 길이가 변경될 때마다 통지되는 리스트에 ChangeListener 를 추가합니다. |
protected void |
addImpl (Component child,
Object constraints,
int index)
JViewport 의 1 개의 경량인 아이를 설정합니다. |
protected boolean |
computeBlit (int dx,
int dy,
Point blitFrom,
Point blitTo,
Dimension blitSize,
Rectangle blitPaint)
Blit 의 파라미터를 계산합니다. |
protected LayoutManager |
createLayoutManager ()
사브크라사가 이 메소드를 오버라이드(override) 하면(자), 생성자 으로 다른 레이아웃 매니저 (또는 null)를 인스톨 할 수 있습니다. |
protected JViewport.ViewListener |
createViewListener ()
뷰의 청취자를 생성합니다. |
protected void |
firePropertyChange (String propertyName,
Object oldValue,
Object newValue)
청취자로 프로퍼티의 변경을 통지합니다. |
protected void |
fireStateChanged ()
뷰의 사이즈, 위치, 또는 뷰포트의 길이가 변경되면(자), 모든 ChangeListeners 에 통지합니다. |
AccessibleContext |
getAccessibleContext ()
이 JViewport 에 관련한 AccessibleContext 를 돌려줍니다. |
ChangeListener [] |
getChangeListeners ()
addChangeListener()에 의해 이 JViewport 에 추가된 모든 ChangeListener 의 배열을 돌려줍니다. |
Dimension |
getExtentSize ()
뷰의 가시 부분의 사이즈를 뷰의 좌표로 돌려줍니다. |
Insets |
getInsets ()
JViewport 에서는 경계가 지원되어 있지 않기 때문에, 인 세트 (경계)의 치수를 (0,0,0,0)로서 돌려줍니다. |
Insets |
getInsets (Insets insets)
이 JViewport 의 인 세트치를 포함하는 Insets 객체를 돌려줍니다. |
int |
getScrollMode ()
현재의 스크롤 모드를 돌려줍니다. |
ViewportUI |
getUI ()
이 컴퍼넌트를 draw 하는 L&F 객체를 돌려줍니다. |
String |
getUIClassID ()
이 컴퍼넌트를 draw 하는 L&F 클래스의 이름을 캐릭터 라인으로 돌려줍니다. |
Component |
getView ()
JViewport 의 1 살의 아이 또는 null 를 돌려줍니다. |
Point |
getViewPosition ()
뷰포트의 좌상구석에 표시되는 뷰의 좌표를 돌려줍니다. |
Rectangle |
getViewRect ()
기점이 getViewPosition, 사이즈가 getExtentSize 인 구형을 돌려줍니다. |
Dimension |
getViewSize ()
뷰의 사이즈가 명시적으로 설정되어 있지 않은 경우는, 적절한 사이즈를 돌려줍니다. |
boolean |
isBackingStoreEnabled ()
추천 되고 있지 않습니다. Java 2 플랫폼 1.3 이후, getScrollMode() 로 옮겨졌습니다. |
boolean |
isOptimizedDrawingEnabled ()
JViewport 는 (JComponent 로) 이 메소드의 디폴트 구현을 오버라이드(override) 해, false 를 돌려줍니다. |
void |
paint (Graphics g)
backingStore 가 사용 가능한가 어떤가에 응해, 배킹 스토어를 개입시켜 이미지를 페인트 하는지, 또는 현재 표시되고 있는 부분만큼을 페인트 해, 배킹 스토어를 사용해 나머지의 부분을 「Blit」합니다. |
protected String |
paramString ()
이 JViewport 의 캐릭터 라인 표현을 돌려줍니다. |
void |
remove (Component child)
Viewport 의 1 개의 경량인 아이를 삭제합니다. |
void |
removeChangeListener (ChangeListener l)
뷰의 사이즈, 위치, 또는 뷰포트의 길이가 변경될 때마다 통지되는 리스트로부터 ChangeListener 를 삭제합니다. |
void |
repaint (long tm,
int x,
int y,
int w,
int h)
RepaintManager 에 의해 paint 가 1 회만 실행되도록(듯이), 항상 부모의 좌표계로 재그립니다. |
void |
reshape (int x,
int y,
int w,
int h)
이 뷰포트의 경계를 설정합니다. |
void |
scrollRectToVisible (Rectangle contentRect)
뷰내의 Rectangle 가 가시가 되도록(듯이) 뷰를 스크롤 합니다. |
void |
setBackingStoreEnabled (boolean enabled)
추천 되고 있지 않습니다. Java 2 플랫폼 1.3 이후, setScrollMode() 로 옮겨졌습니다. |
void |
setBorder (Border border)
뷰포트는, 일반적으로의 부모 또는 아이의 클리핑으로 그 아이 ( 「뷰」라고 불린다)를 「스크롤」합니다. |
void |
setExtentSize (Dimension newExtent)
뷰의 좌표를 사용해 뷰의 가시 부분의 사이즈를 설정합니다. |
void |
setScrollMode (int mode)
뷰포트콘텐트의 스크롤 메소드를 제어하기 위해서 사용합니다. |
void |
setUI (ViewportUI ui)
이 컴퍼넌트를 draw 하는 L&F 객체를 설정합니다. |
void |
setView (Component view)
JViewport 의 1 개의 경량인 아이 (view)를 설정합니다. |
void |
setViewPosition (Point p)
뷰포트의 좌상구석에 표시되는 뷰의 좌표를 설정합니다. |
void |
setViewSize (Dimension newSize)
뷰의 사이즈를 설정합니다. |
Dimension |
toViewCoordinates (Dimension size)
픽셀 좌표의 사이즈를 뷰의 좌표로 변환합니다. |
Point |
toViewCoordinates (Point p)
픽셀 좌표의 포인트를 뷰의 좌표로 변환합니다. |
void |
updateUI ()
현재의 Look & Feel 로부터의 값에 UI 프로퍼티을 리셋 합니다. |
| 클래스 java.lang. Object 로부터 상속된 메소드 |
|---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
| 필드의 상세 |
|---|
protected boolean isViewSizeSet
protected Point lastPaintPosition
viewPosition 입니다. 배킹 스토어 이미지가 어느 정도 유효한가를 알 수 있습니다.
@Deprecated protected boolean backingStore
false 입니다.
setScrollMode(int) protected transient Image backingStoreImage
protected boolean scrollUnderway
scrollUnderway 플래그는,JList 등의 컴퍼넌트로 사용됩니다. JList 로 하 커서 키가 밀려 선택되고 있는 셀이 리스트의 마지막 셀인 경우,scrollpane 는 오토 스크롤 합니다. 여기서, 선택되고 있던 셀은 페인트 다시 할 필요가 있기 (위해)때문에,setViewPosition(Point) 의 명시적인 호출이 있는 경우에만, 뷰포트가 최적화된 페인트를 하기 위해서 플래그가 필요하게 됩니다. setBounds 가 다른 루트를 개입시켜 불려 가는 경우, 플래그는 오프가 되어, 뷰는 보통으로 페인트 다시 합니다. 이것과는 별도로,JViewport 클래스로부터 이것을 삭제해,setBackingStoreEnabled 를 사용해 JList 에 이 경우의 제어를 시키는 방법도 있습니다. 디폴트는 false 입니다.
public static final int BLIT_SCROLL_MODE
graphics.copyArea() 를 사용해 스크롤을 구현합니다. 이 방법이 대부분의 어플리케이션에 있어 가장 빠른 방법입니다.
setScrollMode(int) ,
정수 필드치 public static final int BACKINGSTORE_SCROLL_MODE
JTable 의 디폴트였습니다. 이 방법은, 경우에 따라서는 「Blit 모드」에는 유용할지도 모릅니다만, 상당한 양의 여분의 RAM 가 필요합니다.
setScrollMode(int) ,
정수 필드치 public static final int SIMPLE_SCROLL_MODE
setScrollMode(int) ,
정수 필드치 | 생성자 의 상세 |
|---|
public JViewport()
JViewport 를 생성합니다.
| 메소드의 상세 |
|---|
public ViewportUI getUI()
ViewportUI 객체public void setUI(ViewportUI ui)
ui - ViewportUI L&F 객체UIDefaults.getUI(javax.swing.JComponent) public void updateUI()
JComponent 내의 updateUI JComponent.updateUI() public String getUIClassID()
JComponent 내의 getUIClassID JComponent.getUIClassID() ,
UIDefaults.getUI(javax.swing.JComponent)
protected void addImpl(Component child,
Object constraints,
int index)
JViewport 의 1 개의 경량인 아이를 설정합니다. null 도 지정할 수 있습니다. 뷰포트 전체를 차지하는 아이는 1 살 뿐이므로, 인수 constraints 및 index 는 무시됩니다.
Container 내의 addImpl child - 뷰포트의 경량인 childconstraints - 준수되어야 할 constraintsindex - 인덱스setView(java.awt.Component) public void remove(Component child)
Viewport 의 1 개의 경량인 아이를 삭제합니다.
Container 내의 remove child - 삭제되는 컴퍼넌트setView(java.awt.Component) public void scrollRectToVisible(Rectangle contentRect)
Rectangle 가 가시가 되도록(듯이) 뷰를 스크롤 합니다.
이 메소드는, 스크롤의 전에 뷰를 검증합니다. 뷰가 현재 무효인 경우,isValid 가 false 를 돌려줍니다. 포함 관계의 계층을 작성할 때 과잉인 검증을 피하기 (위해)때문에, 이 메소드는, 피어를 가지지 않는 상위 클래스의 유무, 유효한 루트 클래스의 유무, 및 Window 또는 Applet 의 어느 쪽인지 나오지 않는 상위 클래스의 유무에 대해서는 검증하지 않습니다.
이 메소드는, 유효한 뷰포트의 범위외의 스크롤은 실시하지 않습니다. contentRect 가 뷰포트보다 큰 경우, 스크롤은 뷰포트 경계의 범위내로 한정됩니다.
JComponent 내의 scrollRectToVisible contentRect - 표시하는 RectangleJComponent.isValidateRoot() ,
Component.isValid() ,
Component.getPeer() public final void setBorder(Border border)
null 이외의 경계 (또는 0 이외의 인 세트)는, 지원되고 있지 않습니다. 그것은, 서브 클래스화를 어렵게 하는 만큼 이 컴퍼넌트의 지오메트리궕 복잡하게 되는 것을 막기 위해입니다. 경계 첨부의 JViewport 를 생성하려면 , 경계를 가지는 JPanel 에 그것을 추가합니다. 주:border 가 null 이외의 경우, 이 메소드는 경계가 JViewPort 에서는 지원되어 있지 않기 때문에 예외를 throw 합니다.
JComponent 내의 setBorder border - 설정하는 Border
IllegalArgumentException - 이 메소드는 구현되어 있지 않은Border ,
CompoundBorder public final Insets getInsets()
JViewport 에서는 경계가 지원되어 있지 않기 때문에, 인 세트 (경계)의 치수를 (0,0,0,0)로서 돌려줍니다.
JComponent 내의 getInsets RectangesetBorder(javax.swing.border.Border) public final Insets getInsets(Insets insets)
JViewport 의 인 세트치를 포함하는 Insets 객체를 돌려줍니다. 건네받은 Insets 객체는 다시 초기화되어 이 객체내의 모든 기존의 값은 덧쓰기됩니다.
JComponent 내의 getInsets insets - 재사용할 수 있는 Insets 객체
getInsets() public boolean isOptimizedDrawingEnabled()
JViewport 는 (JComponent 로) 이 메소드의 디폴트 구현을 오버라이드(override) 해, false 를 돌려줍니다. 그 결과, draw 장치는 JViewport 의 아이에게 직접 메세지를 보내는 것이 아니라,Viewport 의 paint 의 구현을 호출합니다.
JComponent 내의 isOptimizedDrawingEnabled public void paint(Graphics g)
backingStore 가 사용 가능한가 어떤가에 응해, 배킹 스토어를 개입시켜 이미지를 페인트 하는지, 또는 현재 표시되고 있는 부분만큼을 페인트 해, 배킹 스토어를 사용해 나머지의 부분을 「Blit」합니다.
「Blit」는, PDP-10 BLT (BLock Transfer) 명령여, 비트의 블록을 카피합니다.
JComponent 내의 paint g - 페인트 하는 Graphics 문맥JComponent.paintComponent(java.awt.Graphics) ,
JComponent.paintBorder(java.awt.Graphics) ,
JComponent.paintChildren(java.awt.Graphics) ,
JComponent.getComponentGraphics(java.awt.Graphics) ,
JComponent.repaint(long, int, int, int, int)
public void reshape(int x,
int y,
int w,
int h)
StateChanged 이벤트를 트리거합니다.
JComponent 내의 reshape x - 기점의 좌단y - 기점의 상단w - 픽셀 단위의 폭h - 픽셀 단위의 높이JComponent.reshape(int, int, int, int) public void setScrollMode(int mode)
mode - 다음의 값의 언젠가.
BLIT_SCROLL_MODE ,
BACKINGSTORE_SCROLL_MODE ,
SIMPLE_SCROLL_MODE public int getScrollMode()
scrollMode 프로퍼티setScrollMode(int) @Deprecated public boolean isBackingStoreEnabled()
getScrollMode() 로 옮겨졌습니다.
true 를 돌려줍니다.
scrollMode 가 BACKINGSTORE_SCROLL_MODE 의 경우는 true@Deprecated public void setBackingStoreEnabled(boolean enabled)
setScrollMode() 로 옮겨졌습니다.
viewPosition 에 대할 뿐 향의 몇 안 되는 변경에 대한 코스트를 삭감하기 위해서 사용됩니다. 뷰포트 전체를 페인트 다시 하는 것이 아니라,Graphics.copyArea 를 사용해 스크롤을 실행합니다.
enabled - true 의 경우, 오프 스크린 배킹 스토어를 유지한다public Component getView()
JViewport 의 1 살의 아이 또는 null 를 돌려줍니다.
nullsetView(java.awt.Component) public void setView(Component view)
JViewport 의 1 개의 경량인 아이 (view)를 설정합니다. null 도 지정할 수 있습니다.
view - 뷰포트의 새로운 경량인 아이getView() public Dimension getViewSize()
Dimension 객체public void setViewSize(Dimension newSize)
newSize - 뷰의 새로운 사이즈를 지정하는 Dimension 객체public Point getViewPosition()
Point 객체public void setViewPosition(Point p)
p - 좌상의 좌표를 나타내는 Point 객체public Rectangle getViewRect()
getViewPosition, 사이즈가 getExtentSize 인 구형을 돌려줍니다. 이것은, 뷰의 좌표로 나타난 뷰의 가시 부분입니다.
Rectangle
protected boolean computeBlit(int dx,
int dy,
Point blitFrom,
Point blitTo,
Dimension blitSize,
Rectangle blitPaint)
oldLoc 를 보관 유지하고 있어, 지금부터 newLoc 에 스크롤 합니다. 파라미터는, Blit 로 요구되는 값을 돌려주기 위해서(때문에) 변경됩니다.
dx - 수평 방향의 델타dy - 수직 방향의 델타blitFrom - Blit 원의 PointblitTo - Blit 처의 PointblitSize - Blit 하는 영역의 DimensionblitPaint - Blit 처의 영역
public Dimension getExtentSize()
Dimension 객체public Dimension toViewCoordinates(Dimension size)
size - 픽셀 좌표를 사용하는 Dimension 객체
Dimension 객체public Point toViewCoordinates(Point p)
p - 픽셀 좌표를 사용하는 Point 객체
Point 객체public void setExtentSize(Dimension newExtent)
newExtent - 뷰의 사이즈를 지정하는 Dimension 객체protected JViewport.ViewListener createViewListener()
ViewListenerprotected LayoutManager createLayoutManager()
null)를 인스톨 할 수 있습니다. JViewport 로 인스톨 하는 LayoutManager 를 돌려줍니다.
LayoutManagerpublic void addChangeListener(ChangeListener l)
ChangeListener 를 추가합니다.
l - 추가하는 ChangeListenerremoveChangeListener(javax.swing.event.ChangeListener) ,
setViewPosition(java.awt.Point) ,
setViewSize(java.awt.Dimension) ,
setExtentSize(java.awt.Dimension) public void removeChangeListener(ChangeListener l)
ChangeListener 를 삭제합니다.
l - 삭제하는 ChangeListeneraddChangeListener(javax.swing.event.ChangeListener) public ChangeListener [] getChangeListeners()
ChangeListener 의 배열을 돌려줍니다.
ChangeListener. 청취자가 추가되어 있지 않은 경우는
빈 상태(empty)의 배열protected void fireStateChanged()
ChangeListeners 에 통지합니다.
addChangeListener(javax.swing.event.ChangeListener) ,
removeChangeListener(javax.swing.event.ChangeListener) ,
EventListenerList
public void repaint(long tm,
int x,
int y,
int w,
int h)
RepaintManager 에 의해 paint 가 1 회만 실행되도록(듯이), 항상 부모의 좌표계로 재그립니다.
JComponent 내의 repaint tm - 갱신까지의 최대 시간 (밀리 세컨드)x - x 좌표 (왼쪽으로부터의 픽셀수)y - y 좌표 (위로부터의 픽셀수)w - 폭h - 높이Component.update(java.awt.Graphics) protected String paramString()
JViewport 의 캐릭터 라인 표현을 돌려줍니다. 이 메소드는 디버그 전용이며, 반환되는 캐릭터 라인의 내용 및 형식은 구현에 따라서 다릅니다. 반환되는 캐릭터 라인은 빈 상태(empty)의 경우가 있습니다만,null 로는 되지 않습니다.
JComponent 내의 paramString JViewport 의 캐릭터 라인 표현
protected void firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
windowBlit 프로퍼티을 갱신합니다. putClientProperty 프로퍼티은 final 입니다.
Component 내의 firePropertyChange propertyName - 프로퍼티명이 포함되고 있는 캐릭터 라인oldValue - 프로퍼티의 변경전의 값newValue - 프로퍼티의 변경 후의 값public AccessibleContext getAccessibleContext()
Accessible 내의 getAccessibleContext JComponent 내의 getAccessibleContext
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.