JavaTM Platform
Standard Ed. 6

javax.swing.plaf.basic
클래스 BasicProgressBarUI

java.lang.Object 
  상위를 확장 javax.swing.plaf.ComponentUI 
      상위를 확장 javax.swing.plaf.ProgressBarUI 
          상위를 확장 javax.swing.plaf.basic.BasicProgressBarUI
직계의 기존의 서브 클래스:
MetalProgressBarUI


public class BasicProgressBarUI
extends ProgressBarUI

ProgressBarUI 의 기본 Look & Feel 에 의한 구현입니다.


상자의 클래스의 개요
 class BasicProgressBarUI.ChangeHandler
          이 내부 클래스는 「public」라고 마크 됩니다만, 이것은 컴파일러의 버그가 원인입니다.
 
필드의 개요
protected  Rectangle boxRect
          페인트 되는 (getBox 에 의해 반환된) 바운싱복스의 위치와 사이즈를 보관 유지하기 위해서 사용합니다.
protected  ChangeListener changeListener
           
protected  JProgressBar progressBar
           
 
생성자 의 개요
BasicProgressBarUI ()
           
 
메소드의 개요
static ComponentUI createUI (JComponent  x)
           
protected  int getAmountFull (Insets  b, int width, int height)
          모델로부터 모은 완료 퍼센트 정보에 근거해, 전부 칠해지는 진척 바의 양을 결정합니다.
protected  int getAnimationIndex ()
          현재의 애니메이션 프레임의 인덱스를 가져옵니다.
 int getBaseline (JComponent  c, int width, int height)
          baseline를 돌려줍니다.
 Component.BaselineResizeBehavior getBaselineResizeBehavior (JComponent  c)
          사이즈의 변화에 맞추어 컴퍼넌트의 baseline가 어떻게 변화하는지를 나타내는 열거를 돌려줍니다.
protected  Rectangle getBox (Rectangle  r)
          현재의 애니메이션 인덱스를 위해서(때문에) r 로 페인트 되어r를 돌려주는 바운싱복스의 위치와 사이즈를 포함합니다.
protected  int getBoxLength (int availableLength, int otherDimension)
          페인트 되는 「바운싱복스」의 길이를 돌려줍니다.
protected  int getCellLength ()
          진척 바에 draw 되는 개개의 셀 및 단위의 폭 (HORIZONTAL 의 경우) 또는 높이 (VERTICAL 의 경우)를 돌려줍니다.
protected  int getCellSpacing ()
          진척 바에 있는 각 셀 및 단위의 간격을 돌려줍니다.
protected  int getFrameCount ()
          불확정의 JProgressBar 로 사용되는 완전한 애니메이션 루프를 위한 프레임수를 돌려줍니다.
 Dimension getMaximumSize (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트의 최대 사이즈를 돌려줍니다.
 Dimension getMinimumSize (JComponent  c)
          이 컴퍼넌트에서의 최소 사이즈는 10 입니다.
protected  Dimension getPreferredInnerHorizontal ()
           
protected  Dimension getPreferredInnerVertical ()
           
 Dimension getPreferredSize (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트의 적절한 사이즈를 돌려줍니다.
protected  Color getSelectionBackground ()
          selectionBackground 는, 진척 바가 전부 칠해지지 않은 영역에 draw 할 때의 텍스트의 색입니다.
protected  Color getSelectionForeground ()
          selectionForeground 는, 진척 바가 전부 칠해진 영역에 draw 할 때의 텍스트의 색입니다.
protected  Point getStringPlacement (Graphics  g, String  progressString, int x, int y, int width, int height)
          진척 캐릭터 라인의 페인트 위치를 지정합니다.
protected  void incrementAnimationIndex ()
          현재의 애니메이션 프레임의 인덱스를, 다음의 유효치로 설정해, 진척 바가 페인트 다시 하도록(듯이) 합니다.
protected  void installDefaults ()
           
protected  void installListeners ()
           
 void installUI (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트를 구성합니다.
 void paint (Graphics  g, JComponent  c)
          페인트를 2 개의 메소드 paintDeterminate 또는 paintIndeterminate 의 어딘가에 위양 합니다.
protected  void paintDeterminate (Graphics  g, JComponent  c)
          거의 모든 확정 모드의 리니어인 진척 바로 올바르게 동작하는, 범용의 paint 메소드입니다.
protected  void paintIndeterminate (Graphics  g, JComponent  c)
          모든 직선 바운싱복스 진척 바가 올바르게 동작하는, 범용의 paint 메소드입니다.
protected  void paintString (Graphics  g, int x, int y, int width, int height, int amountFull, Insets  b)
           
protected  void setAnimationIndex (int newValue)
          현재의 애니메이션 프레임의 인덱스를 특정의 값으로 설정해, 진척 바를 페인트 다시 하도록(듯이) 요구합니다.
protected  void setCellLength (int cellLen)
           
protected  void setCellSpacing (int cellSpace)
           
protected  void startAnimationTimer ()
          애니메이션 thread를 기동해, 필요하면 작성해, 초기화합니다.
protected  void stopAnimationTimer ()
          애니메이션 thread를 정지합니다.
protected  void uninstallDefaults ()
           
protected  void uninstallListeners ()
          이 객체가 인스톨 한 모든 청취자를 삭제합니다.
 void uninstallUI (JComponent  c)
          installUI 시에, 지정된 컴퍼넌트로 구성된 내용을 취소합니다.
 
클래스 javax.swing.plaf. ComponentUI 로부터 상속된 메소드
contains , getAccessibleChild , getAccessibleChildrenCount , update
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

progressBar

protected JProgressBar  progressBar

changeListener

protected ChangeListener  changeListener

boxRect

protected Rectangle  boxRect
페인트 되는 (getBox 에 의해 반환된) 바운싱복스의 위치와 사이즈를 보관 유지하기 위해서 사용합니다.

도입된 버젼:
1.5
생성자 의 상세

BasicProgressBarUI

public BasicProgressBarUI()
메소드의 상세

createUI

public static ComponentUI  createUI(JComponent  x)

installUI

public void installUI(JComponent  c)
클래스 ComponentUI 의 기술:
Look & Feel 에 적절한, 지정된 컴퍼넌트를 구성합니다. 이 메소드는,ComponentUI 인스턴스가, 지정된 컴퍼넌트의 UI 위양으로서 인스톨 되고 있을 때 불려 갑니다. 이 메소드는, 이하를 포함한 Look & Feel 용의 컴퍼넌트를 완전하게 구성할 필요가 있습니다.
  1. 칼라, 폰트, 경계, 아이콘, 불투명함 등 모든 디폴트 프로퍼티의 값을 컴퍼넌트에 인스톨 한다. 가능한 경우는, 클라이언트 프로그램에 의해 초기화된 프로퍼티의 값을 오버라이드(override) 해서는 안 된다
  2. 필요에 따라서, 컴퍼넌트에 LayoutManager 를 인스톨 한다
  3. 필요한 서브 컴퍼넌트를, 컴퍼넌트에 작성 또는 추가한다
  4. 이벤트 청취자를, 컴퍼넌트에 작성 또는 인스톨 한다
  5. 컴퍼넌트의 프로퍼티의 변경을 적절히 검출해, 응답하기 위해서,PropertyChangeListener 를 컴퍼넌트에 작성 또는 인스톨 한다
  6. 키보드 UI (니마닉(mnemonic), traversal등)를, 컴퍼넌트에 인스톨 한다
  7. 적절한 인스턴스의 데이터를 초기화한다

오버라이드(override):
클래스 ComponentUI 내의 installUI
파라미터:
c - UI 위양이 인스톨 되고 있는 컴퍼넌트
관련 항목:
ComponentUI.uninstallUI(javax.swing.JComponent) , JComponent.setUI(javax.swing.plaf.ComponentUI) , JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent  c)
클래스 ComponentUI 의 기술:
installUI 시에, 지정된 컴퍼넌트로 구성된 내용을 취소합니다. 이 메소드는, 지정된 컴퍼넌트의 UI 위양으로서의 UIComponent 인스턴스가 삭제되고 있을 때 불려 갑니다. 이 메소드는,installUI 에 의해 실행된 구성을 바탕으로 되돌릴 필요가 있습니다. 이 경우,JComponent 인스턴스를 깨끗한 상태 (여분의 청취자나, Look & Feel 고유의 프로퍼티 객체가 남지 않게)로 하도록(듯이) 충분히 주의해 주세요. 순서에는 다음의 것이 있습니다.
  1. UI 로서 설정된 모든 경계를, 컴퍼넌트로부터 삭제한다
  2. UI 로서 설정된 모든 레이아웃 매니저를, 컴퍼넌트로부터 삭제한다
  3. UI 로서 추가된 모든 서브 컴퍼넌트를, 컴퍼넌트로부터 삭제한다
  4. UI 로서 추가된 모든 이벤트/청취자를, 컴퍼넌트로부터 삭제한다
  5. UI 로서 인스톨 된 모든 키보드 UI 를, 컴퍼넌트로부터 삭제한다
  6. GC 용으로 할당할 수 있던 모든 인스턴스의 데이터 객체를 무효로 한다

오버라이드(override):
클래스 ComponentUI 내의 uninstallUI
파라미터:
c - 이 UI 위양을 삭제하는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있는
관련 항목:
ComponentUI.installUI(javax.swing.JComponent) , JComponent.updateUI()

installDefaults

protected void installDefaults()

uninstallDefaults

protected void uninstallDefaults()

installListeners

protected void installListeners()

startAnimationTimer

protected void startAnimationTimer()
애니메이션 thread를 기동해, 필요하면 작성해, 초기화합니다. 불확정인 진척 바가 애니메이션을 개시할 필요가 있는 경우에, 이 메소드가 불려 갑니다. 이것에는 다음과 같은 이유가 있습니다. 독자적인 애니메이션 thread를 구현하는 경우는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

도입된 버젼:
1.4
관련 항목:
stopAnimationTimer()

stopAnimationTimer

protected void stopAnimationTimer()
애니메이션 thread를 정지합니다. 불확정인 애니메이션을 정지할 필요가 있는 경우에, 이 메소드가 불려 갑니다. 이것에는 다음과 같은 이유가 있습니다. 독자적인 애니메이션 thread를 구현하는 경우는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

도입된 버젼:
1.4
관련 항목:
startAnimationTimer()

uninstallListeners

protected void uninstallListeners()
이 객체가 인스톨 한 모든 청취자를 삭제합니다.


getBaseline

public int getBaseline(JComponent  c,
                       int width,
                       int height)
baseline를 돌려줍니다.

오버라이드(override):
클래스 ComponentUI 내의 getBaseline
파라미터:
c - 요구되는 JComponent baseline
width - baseline를 취득하는 폭
height - baseline를 취득하는 높이
반환값:
baseline 또는 0 보다 작은 값 (적절한 baseline가 존재하지 않는다)
예외:
NullPointerException - cnull 의 경우
IllegalArgumentException - 폭 또는 높이가 0 보다 작은 경우
도입된 버젼:
1.6
관련 항목:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior  getBaselineResizeBehavior(JComponent  c)
사이즈의 변화에 맞추어 컴퍼넌트의 baseline가 어떻게 변화하는지를 나타내는 열거를 돌려줍니다.

오버라이드(override):
클래스 ComponentUI 내의 getBaselineResizeBehavior
파라미터:
c - baseline의 사이즈 변경의 동작을 돌려주는 JComponent
반환값:
컴퍼넌트의 사이즈 변경에 수반하는 baseline의 변화를 나타낸다 열거형의 값
예외:
NullPointerException - cnull 의 경우
도입된 버젼:
1.6
관련 항목:
JComponent.getBaseline(int, int)

getPreferredInnerHorizontal

protected Dimension  getPreferredInnerHorizontal()

getPreferredInnerVertical

protected Dimension  getPreferredInnerVertical()

getSelectionForeground

protected Color  getSelectionForeground()
selectionForeground 는, 진척 바가 전부 칠해진 영역에 draw 할 때의 텍스트의 색입니다.


getSelectionBackground

protected Color  getSelectionBackground()
selectionBackground 는, 진척 바가 전부 칠해지지 않은 영역에 draw 할 때의 텍스트의 색입니다.


getCellLength

protected int getCellLength()
진척 바에 draw 되는 개개의 셀 및 단위의 폭 (HORIZONTAL 의 경우) 또는 높이 (VERTICAL 의 경우)를 돌려줍니다. 다만, 텍스트의 렌더링의 간략화, 및 표시상의 아름다움의 관점으로부터, 진척 캐릭터 라인이 draw 되고 있는 동안은, 이 함수는 1 을 돌려줍니다.

반환값:
셀의 간격을 나타내는 값
관련 항목:
setCellLength(int) , JProgressBar.isStringPainted()

setCellLength

protected void setCellLength(int cellLen)

getCellSpacing

protected int getCellSpacing()
진척 바에 있는 각 셀 및 단위의 간격을 돌려줍니다. 다만, 텍스트의 렌더링의 간략화, 및 표시상의 아름다움의 관점으로부터, 진척 캐릭터 라인이 draw 되고 있는 동안은, 이 함수는 0 을 돌려줍니다.

반환값:
셀의 간격을 나타내는 값
관련 항목:
setCellSpacing(int) , JProgressBar.isStringPainted()

setCellSpacing

protected void setCellSpacing(int cellSpace)

getAmountFull

protected int getAmountFull(Insets  b,
                            int width,
                            int height)
모델로부터 모은 완료 퍼센트 정보에 근거해, 전부 칠해지는 진척 바의 양을 결정합니다. 이것은 공용의 조작이므로, 추상화 되고 있습니다. 여기에서는, 사용하는 진척 바가 직선이라고 상정하고 있습니다. 즉, 원형의 진척 인디케이터(indicator)를 작성하는 경우는, 이 메소드를 오버라이드(override) 할 수 있습니다.


paint

public void paint(Graphics  g,
                  JComponent  c)
페인트를 2 개의 메소드 paintDeterminate 또는 paintIndeterminate 의 어딘가에 위양 합니다.

오버라이드(override):
클래스 ComponentUI 내의 paint
파라미터:
g - 페인트 대상의 Graphics 문맥
c - 페인트 되는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있는
관련 항목:
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)

getBox

protected Rectangle  getBox(Rectangle  r)
현재의 애니메이션 인덱스를 위해서(때문에) r 로 페인트 되어r를 돌려주는 바운싱복스의 위치와 사이즈를 포함합니다. paintIndeterminate 의 이 클래스에서의 구현으로 실행되는 페인트에 추가하는 서브 클래스는, 예를 들어, 바운싱복스의 주위에 아우트라인을 draw 하기 위해서, 이 메소드를 사용해, 지금 페인트 된 바운싱복스의 위치를 취득할 수 있습니다. 이 메소드를 오버라이드(override) 하는 것으로써,paintIndeterminate 를 다시 구현하는 필요없음에, 바운싱복스의 사이즈와 위치를 완전하게 제어할 수 있습니다.

파라미터:
r - 변경되는 Rectangle 의 인스턴스. null 의 경우도 있다
반환값:
박스를 draw 하지 않는 경우는 null. 그렇지 않은 경우는 건네받은 구형 (null 이외의 경우), 또는 새로운 구형
도입된 버젼:
1.4
관련 항목:
setAnimationIndex(int)

getBoxLength

protected int getBoxLength(int availableLength,
                           int otherDimension)
페인트 되는 「바운싱복스」의 길이를 돌려줍니다. 이 메소드는, 박스의 폭 (진척 바가 수평 방향의 경우) 또는 높이 (진척 바가 수직 방향의 경우)를 취득하기 위해서,paintIndeterminate 의 디폴트의 구현에 의해 불려 갑니다. 다음에 예를 나타냅니다.
boxRect.width = getBoxLength(componentInnards.width,
                             componentInnards.height);
 

파라미터:
availableLength - 이동하는 바운싱복스에 이용할 수 있는 스페이스의 양. 예를 들어, 수평 방향의 진척 바에서는, 진척 바의 내부의 폭 (컴퍼넌트폭으로부터 경계를 당긴 값) 되는
otherDimension - 수평 방향의 진척 바에서는, 반환값을 제한하거나 결정하거나 하기 위해서 사용할 수가 있다 진척 바의 내부의 높이가 된다
반환값:
결정되는 박스의 사이즈. availableLength 이하가 될 필요가 있는
도입된 버젼:
1.5
관련 항목:
SwingUtilities.calculateInnerArea(javax.swing.JComponent, java.awt.Rectangle)

paintIndeterminate

protected void paintIndeterminate(Graphics  g,
                                  JComponent  c)
모든 직선 바운싱복스 진척 바가 올바르게 동작하는, 범용의 paint 메소드입니다. 다른 종류의 진척 바를 작성한 경우는, 이 메소드를 오버라이드(override) 해 주세요.

도입된 버젼:
1.4
관련 항목:
paintDeterminate(java.awt.Graphics, javax.swing.JComponent)

paintDeterminate

protected void paintDeterminate(Graphics  g,
                                JComponent  c)
거의 모든 확정 모드의 리니어인 진척 바로 올바르게 동작하는, 범용의 paint 메소드입니다. 디폴트의 테이블에 값을 설정하는 것만으로, 진척 바의 페인트가 문제 없게 동작하게 됩니다. 원형, 혹은 반원형의 진척 바를 작성하는 경우에는, 이 메소드를 오버라이드(override) 해 주세요.

도입된 버젼:
1.4
관련 항목:
paintIndeterminate(java.awt.Graphics, javax.swing.JComponent)

paintString

protected void paintString(Graphics  g,
                           int x,
                           int y,
                           int width,
                           int height,
                           int amountFull,
                           Insets  b)

getStringPlacement

protected Point  getStringPlacement(Graphics  g,
                                   String  progressString,
                                   int x,
                                   int y,
                                   int width,
                                   int height)
진척 캐릭터 라인의 페인트 위치를 지정합니다. 이 구현에서는, 진척 바의 중앙 (x 및 y 의 양쪽 모두)에 캐릭터 라인을 배치합니다. 진척 캐릭터 라인을 우, 좌, 상, 혹은 아래에 배치하는 경우, 혹은 하등의 이유로써 삭제하는 경우는, 이 메소드를 오버라이드(override) 해 주세요.


getPreferredSize

public Dimension  getPreferredSize(JComponent  c)
클래스 ComponentUI 의 기술:
Look & Feel 에 적절한, 지정된 컴퍼넌트의 적절한 사이즈를 돌려줍니다. null 가 반환되는 경우, 적절한 사이즈는 대신에 컴퍼넌트의 레이아웃 매니저에 의해 계산됩니다 (이것은, 특정의 레이아웃 매니저를 인스톨 되어 있는 컴퍼넌트의 경우에 추천 하는 방법입니다). 이 메소드의 디폴트 구현은 null 를 돌려줍니다.

오버라이드(override):
클래스 ComponentUI 내의 getPreferredSize
파라미터:
c - 적절한 사이즈가 조회되는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있는
관련 항목:
JComponent.getPreferredSize() , LayoutManager.preferredLayoutSize(java.awt.Container)

getMinimumSize

public Dimension  getMinimumSize(JComponent  c)
이 컴퍼넌트에서의 최소 사이즈는 10 입니다. 10 퍼센트에 대해서 1 픽셀 이상을 대응시키도록(듯이) 할 필요가 있습니다.

오버라이드(override):
클래스 ComponentUI 내의 getMinimumSize
파라미터:
c - 최소 사이즈가 조회되는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있다
반환값:
Dimension 객체, 또는 null
관련 항목:
JComponent.getMinimumSize() , LayoutManager.minimumLayoutSize(java.awt.Container) , ComponentUI.getPreferredSize(javax.swing.JComponent)

getMaximumSize

public Dimension  getMaximumSize(JComponent  c)
클래스 ComponentUI 의 기술:
Look & Feel 에 적절한, 지정된 컴퍼넌트의 최대 사이즈를 돌려줍니다. null 가 반환되는 경우, 최대 사이즈는 대신에 컴퍼넌트의 레이아웃 매니저에 의해 계산됩니다 (이것은, 특정의 레이아웃 매니저를 인스톨 되어 있는 컴퍼넌트의 경우에 추천 하는 방법입니다). 이 메소드의 디폴트 구현은 getPreferredSize 를 호출해, 그 값을 돌려줍니다.

오버라이드(override):
클래스 ComponentUI 내의 getMaximumSize
파라미터:
c - 최대 사이즈가 조회되는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있다
반환값:
Dimension 객체, 또는 null
관련 항목:
JComponent.getMaximumSize() , LayoutManager2.maximumLayoutSize(java.awt.Container)

getAnimationIndex

protected int getAnimationIndex()
현재의 애니메이션 프레임의 인덱스를 가져옵니다.

도입된 버젼:
1.4

getFrameCount

protected final int getFrameCount()
불확정의 JProgressBar 로 사용되는 완전한 애니메이션 루프를 위한 프레임수를 돌려줍니다. 진척 상황의 체크는, 루프의 사이, 한편의 구석으로부터 이제(벌써) 한편의 구석에의 이동을 반복합니다. 이 시각적인 동작은, 다른 Look & Feel 의 서브 클래스에 의해 변경할 수 있습니다.

반환값:
프레임수
도입된 버젼:
1.6

setAnimationIndex

protected void setAnimationIndex(int newValue)
현재의 애니메이션 프레임의 인덱스를 특정의 값으로 설정해, 진척 바를 페인트 다시 하도록(듯이) 요구합니다. 디폴트의 페인트 코드를 사용하지 않는 서브 클래스는, 이 메소드를 오버라이드(override) 해,repaint 메소드의 기동 방법을 변경할 필요가 있습니다.

파라미터:
newValue - 새로운 애니메이션 인덱스. 이 값은 체크되지 않는
도입된 버젼:
1.4
관련 항목:
incrementAnimationIndex()

incrementAnimationIndex

protected void incrementAnimationIndex()
현재의 애니메이션 프레임의 인덱스를, 다음의 유효치로 설정해, 진척 바가 페인트 다시 하도록(듯이) 합니다. 다음의 유효치는, 디폴트에서는, 현재의 애니메이션 인덱스에 1 을 더한 것입니다. 신규의 값이 너무 큰 경우, 이 메소드는 인덱스 0 을 설정합니다. 서브 클래스는 이 메소드를 오버라이드(override) 해, 인덱스가, 특정의 진척 바 인스턴스에 필요한 프레임수를 넘지 않게 할 필요가 있습니다. 이 메소드는,X 밀리 세컨드 마다, 디폴트의 애니메이션 thread에 의해 기동됩니다. 여기서,X 는 ProgressBar.repaintInterval 로 지정됩니다.

도입된 버젼:
1.4
관련 항목:
setAnimationIndex(int)

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