|
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
- 뷰포트의 경량인 child
constraints
- 준수되어야 할 constraints
index
- 인덱스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
- 표시하는 Rectangle
JComponent.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
Rectange
setBorder(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
를 돌려줍니다.
null
setView(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 원의 Point
blitTo
- Blit 처의 Point
blitSize
- Blit 하는 영역의 Dimension
blitPaint
- 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()
ViewListener
protected LayoutManager createLayoutManager()
null
)를 인스톨 할 수 있습니다. JViewport
로 인스톨 하는 LayoutManager
를 돌려줍니다.
LayoutManager
public void addChangeListener(ChangeListener l)
ChangeListener
를 추가합니다.
l
- 추가하는 ChangeListener
removeChangeListener(javax.swing.event.ChangeListener)
,
setViewPosition(java.awt.Point)
,
setViewSize(java.awt.Dimension)
,
setExtentSize(java.awt.Dimension)
public void removeChangeListener(ChangeListener l)
ChangeListener
를 삭제합니다.
l
- 삭제하는 ChangeListener
addChangeListener(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 도 참조해 주세요.