JavaTM Platform
Standard Ed. 6

javax.swing
클래스 RepaintManager

java.lang.Object 
  상위를 확장 javax.swing.RepaintManager


public class RepaintManager
extends Object

이 클래스는 재페인트 요구를 관리해, 컴퍼넌트 트리의 멤버에 대한 복수의 요구를 1 회의 재페인트에 정리하는 것 등에 의해, 재페인트의 회수를 최소한으로 억제합니다.

1.6 이후,RepaintManager 는, Swing 의 톱 레벨 컴퍼넌트 (JApplet,JWindow,JFrame, 및 JDialog)의 재페인트 요구를 처리하게 되었습니다. 이러한 컴퍼넌트로 repaint 를 호출하면(자), 적절한 addDirtyRegion 메소드가 불려 갑니다.


생성자 의 개요
RepaintManager ()
          새로운 RepaintManager 의 인스턴스를 생성합니다.
 
메소드의 개요
 void addDirtyRegion (Applet  applet, int x, int y, int w, int h)
          재페인트 할 필요가 있는 Component 의 리스트에 applet 를 추가합니다.
 void addDirtyRegion (JComponent  c, int x, int y, int w, int h)
          재표시되는 컴퍼넌트의 리스트에 컴퍼넌트를 추가합니다.
 void addDirtyRegion (Window  window, int x, int y, int w, int h)
          재페인트 할 필요가 있는 Component 의 리스트에 window 를 추가합니다.
 void addInvalidComponent (JComponent  invalidComponent)
          레이아웃의 필요에 따라서 컴퍼넌트를 마크 해, 컴퍼넌트의 최초의 isValidateRoot()의 상위 객체를 검증하는 이벤트발송쓰레드를 위해서(때문에) 실행 가능한 컴퍼넌트를 기다리는 행렬에 넣습니다.
static RepaintManager currentManager (Component  c)
          Component 를 지정해, 호출측 thread의 RepaintManager 를 돌려줍니다.
static RepaintManager currentManager (JComponent  c)
          JComponent 를 지정해, 호출측 thread의 RepaintManager 를 돌려줍니다.
 Rectangle getDirtyRegion (JComponent  aComponent)
          컴퍼넌트의 현재의 더티 리젼을 돌려줍니다.
 Dimension getDoubleBufferMaximumSize ()
          최대의 더블 버퍼 사이즈를 돌려줍니다.
 Image getOffscreenBuffer (Component  c, int proposedWidth, int proposedHeight)
          더블 버퍼로서 컴퍼넌트 c 와 함께 사용되는 오프 스크린 버퍼를 돌려줍니다.
 Image getVolatileOffscreenBuffer (Component  c, int proposedWidth, int proposedHeight)
          더블 버퍼로서 지정의 컴퍼넌트 c 와 함께 사용되는 volatile 의 오프 스크린 버퍼를 돌려줍니다.
 boolean isCompletelyDirty (JComponent  aComponent)
          다음의 paintDirtyRegions()로 aComponent 가 완전하게 페인트 되는 경우에 true 를 돌려주는 편리한 메소드입니다.
 boolean isDoubleBufferingEnabled ()
          이 RepaintManager 에 대해서 더블 버퍼링을 하는 경우에 true 를 돌려줍니다.
 void markCompletelyClean (JComponent  aComponent)
          완전하게 깨끗한 컴퍼넌트를 마크 합니다.
 void markCompletelyDirty (JComponent  aComponent)
          완전하게 더티인 컴퍼넌트를 마크 합니다.
 void paintDirtyRegions ()
          더티로서 마크 된 컴퍼넌트를 모두 그립니다.
 void removeInvalidComponent (JComponent  component)
          무효인 컴퍼넌트의 리스트로부터 컴퍼넌트를 삭제합니다.
static void setCurrentManager (RepaintManager  aRepaintManager)
          호출측 thread로 사용되는 RepaintManager 를 설정합니다.
 void setDoubleBufferingEnabled (boolean aFlag)
          이 RepaintManager 에서의 더블 버퍼링을 유효 또는 무효로 합니다.
 void setDoubleBufferMaximumSize (Dimension  d)
          최대의 더블 버퍼 사이즈를 설정합니다.
 String toString ()
          이 객체의 프로퍼티을 표시 및 식별하는 캐릭터 라인을 돌려줍니다.
 void validateInvalidComponents ()
          무효로서 마크 된 컴퍼넌트를 모두 검증합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

RepaintManager

public RepaintManager()
새로운 RepaintManager 의 인스턴스를 생성합니다. 이 생성자 을 직접 호출하는 것은 거의 없습니다. 디폴트의 RepaintManager 를 가져오려면 , RepaintManager.currentManager(JComponent) (일반적으로은 this)를 사용합니다.

메소드의 상세

currentManager

public static RepaintManager  currentManager(Component  c)
Component 를 지정해, 호출측 thread의 RepaintManager 를 돌려줍니다.

파라미터:
c - Component. 디폴트의 구현에서는 사용되지 않지만, 오버라이드(override)판으로 사용하면(자) 다른 RepaintManager 를 돌려준다 가능성이 있다
반환값:
RepaintManager 객체

currentManager

public static RepaintManager  currentManager(JComponent  c)
JComponent 을 지정해, 호출측 thread의 RepaintManager 를 돌려줍니다.

주:이 메소드는, 구버젼의 Swing 라이브러리의 바이너리와의 하위 호환성을 위해서(때문에) 제공됩니다. 이 메소드는, 단지 currentManager(Component) 에 의해 반환되는 결과를 돌려줍니다.

파라미터:
c - JComponent. 사용되지 않는다
반환값:
RepaintManager 객체

setCurrentManager

public static void setCurrentManager(RepaintManager  aRepaintManager)
호출측 thread로 사용되는 RepaintManager 를 설정합니다. aRepaintManager 가, 호출측 thread의 thread 그룹의 현재의 RepaintManager 가 됩니다.

파라미터:
aRepaintManager - 사용하는 RepaintManager 객체

addInvalidComponent

public void addInvalidComponent(JComponent  invalidComponent)
레이아웃의 필요에 따라서 컴퍼넌트를 마크 해, 컴퍼넌트의 최초의 isValidateRoot()의 상위 객체를 검증하는 이벤트발송쓰레드를 위해서(때문에) 실행 가능한 컴퍼넌트를 기다리는 행렬에 넣습니다.

관련 항목:
JComponent.isValidateRoot() , removeInvalidComponent(javax.swing.JComponent)

removeInvalidComponent

public void removeInvalidComponent(JComponent  component)
무효인 컴퍼넌트의 리스트로부터 컴퍼넌트를 삭제합니다.

관련 항목:
addInvalidComponent(javax.swing.JComponent)

addDirtyRegion

public void addDirtyRegion(JComponent  c,
                           int x,
                           int y,
                           int w,
                           int h)
재표시되는 컴퍼넌트의 리스트에 컴퍼넌트를 추가합니다. c 에 벌써 더티 리젼이 있는 경우, 구형 (x, y, w, h) 은 재draw 되는 영역과 결합됩니다.

파라미터:
c - 재페인트 하는 컴퍼넌트. null 의 경우는 아무것도 행해지지 않는
x - 재페인트 하는 영역의 X 좌표
y - 재페인트 하는 영역의 Y 좌표
w - 재페인트 하는 영역의 폭
h - 재페인트 하는 영역의 높이
관련 항목:
JComponent.repaint(long, int, int, int, int)

addDirtyRegion

public void addDirtyRegion(Window  window,
                           int x,
                           int y,
                           int w,
                           int h)
재페인트 할 필요가 있는 Component 의 리스트에 window 를 추가합니다.

파라미터:
window - 재페인트 하는 윈도우. null 의 경우는 아무것도 행해지지 않는
x - 재페인트 하는 영역의 X 좌표
y - 재페인트 하는 영역의 Y 좌표
w - 재페인트 하는 영역의 폭
h - 재페인트 하는 영역의 높이
도입된 버젼:
1.6
관련 항목:
JFrame.repaint(long, int, int, int, int) , JWindow.repaint(long, int, int, int, int) , JDialog.repaint(long, int, int, int, int)

addDirtyRegion

public void addDirtyRegion(Applet  applet,
                           int x,
                           int y,
                           int w,
                           int h)
재페인트 할 필요가 있는 Component 의 리스트에 applet 를 추가합니다.

파라미터:
applet - 재페인트 하는 애플릿. null 의 경우는 아무것도 행해지지 않는
x - 재페인트 하는 영역의 X 좌표
y - 재페인트 하는 영역의 Y 좌표
w - 재페인트 하는 영역의 폭
h - 재페인트 하는 영역의 높이
도입된 버젼:
1.6
관련 항목:
JApplet.repaint(long, int, int, int, int)

getDirtyRegion

public Rectangle  getDirtyRegion(JComponent  aComponent)
컴퍼넌트의 현재의 더티 리젼을 돌려줍니다. 컴퍼넌트가 더티가 아닌 경우는, 빈 상태(empty)의 구형을 돌려줍니다.


markCompletelyDirty

public void markCompletelyDirty(JComponent  aComponent)
완전하게 더티인 컴퍼넌트를 마크 합니다. aComponent 는, 다음의 paintDirtyRegions()의 호출로 완전하게 페인트 됩니다.


markCompletelyClean

public void markCompletelyClean(JComponent  aComponent)
완전하게 깨끗한 컴퍼넌트를 마크 합니다. aComponent 는, 다음의 paintDirtyRegions()의 호출로 페인트 될 것은 없습니다.


isCompletelyDirty

public boolean isCompletelyDirty(JComponent  aComponent)
다음의 paintDirtyRegions()로 aComponent 가 완전하게 페인트 되는 경우에 true 를 돌려주는 편리한 메소드입니다. 더티 리젼을 계산하면(자), 컴퍼넌트에 부하가 큰 경우는, 이 메소드를 사용해 주세요. true 를 돌려주는 경우에는, 더티 리젼의 계산을 피할 수 있습니다.


validateInvalidComponents

public void validateInvalidComponents()
무효로서 마크 된 컴퍼넌트를 모두 검증합니다.

관련 항목:
addInvalidComponent(javax.swing.JComponent)

paintDirtyRegions

public void paintDirtyRegions()
더티로서 마크 된 컴퍼넌트를 모두 그립니다.

관련 항목:
addDirtyRegion(javax.swing.JComponent, int, int, int, int)

toString

public String  toString()
이 객체의 프로퍼티을 표시 및 식별하는 캐릭터 라인을 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 객체의 캐릭터 라인 표현

getOffscreenBuffer

public Image  getOffscreenBuffer(Component  c,
                                int proposedWidth,
                                int proposedHeight)
더블 버퍼로서 컴퍼넌트 c 와 함께 사용되는 오프 스크린 버퍼를 돌려줍니다. 디폴트에서는, RepaintManager 마다 더블 버퍼가 있습니다. 버퍼는,(proposedWidth, proposedHeight) 보다 작은 경우가 있습니다. 이것이 발생하는 것은, 수취하는 측의 재페인트 매니저에 대해서 최대의 더블 버퍼 사이즈가 설정되었을 경우입니다.


getVolatileOffscreenBuffer

public Image  getVolatileOffscreenBuffer(Component  c,
                                        int proposedWidth,
                                        int proposedHeight)
더블 버퍼로서 지정의 컴퍼넌트 c 와 함께 사용되는 volatile 의 오프 스크린 버퍼를 돌려줍니다. 반환되는 이미지는 VolatileImage 의 인스턴스이며, VolatileImage 객체를 인스턴스화할 수 없었던 경우는 null 가 돌려주어집니다. 버퍼는,(proposedWidth, proposedHeight) 보다 작은 경우가 있습니다. 이것이 발생하는 것은, 수취하는 측의 재페인트 매니저에 대해서 최대의 더블 버퍼 사이즈가 설정되었을 경우입니다.

도입된 버젼:
1.4
관련 항목:
VolatileImage

setDoubleBufferMaximumSize

public void setDoubleBufferMaximumSize(Dimension  d)
최대의 더블 버퍼 사이즈를 설정합니다.


getDoubleBufferMaximumSize

public Dimension  getDoubleBufferMaximumSize()
최대의 더블 버퍼 사이즈를 돌려줍니다.

반환값:
최대 사이즈를 나타내는 Dimension 객체

setDoubleBufferingEnabled

public void setDoubleBufferingEnabled(boolean aFlag)
이 RepaintManager 에서의 더블 버퍼링을 유효 또는 무효로 합니다. 주의:이 프로퍼티의 디폴트 값는, 각 플랫폼에서 최적인 페인트 퍼포먼스를 실현할 수 있도록(듯이) 설정되어 있습니다. 프로그램으로 이 프로그램을 직접 변경하는 것은 추천할 수 없습니다.

파라미터:
aFlag - 더블 버퍼링을 유효하게 하는 경우는 true
관련 항목:
isDoubleBufferingEnabled()

isDoubleBufferingEnabled

public boolean isDoubleBufferingEnabled()
이 RepaintManager 에 대해서 더블 버퍼링을 하는 경우에 true 를 돌려줍니다. 이 프로퍼티의 디폴트 값는, 플랫폼에 따라서 다릅니다. AWT 로 네이티브인 더블 버퍼링이 지원되고 있는 플랫폼에서는, Swing 로 불필요한 버퍼링을 하지 않게, 디폴트 값가 false 로 설정됩니다. 네이티브인 더블 버퍼링이 지원되어 있지 않은 플랫폼에서는, 디폴트 값가 true 로 설정됩니다.

반환값:
이 객체에 대해서 더블 버퍼링을 하는 경우는 true

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