JavaTM Platform
Standard Ed. 6

javax.swing.plaf.basic
클래스 BasicScrollPaneUI

java.lang.Object 
  상위를 확장 javax.swing.plaf.ComponentUI 
      상위를 확장 javax.swing.plaf.ScrollPaneUI 
          상위를 확장 javax.swing.plaf.basic.BasicScrollPaneUI
모든 구현된 인터페이스:
ScrollPaneConstants
직계의 기존의 서브 클래스:
MetalScrollPaneUI


public class BasicScrollPaneUI
extends ScrollPaneUI
implements ScrollPaneConstants

ScrollPaneUI 의 디폴트의 Look & Feel 에 의한 구현입니다.


상자의 클래스의 개요
 class BasicScrollPaneUI.HSBChangeListener
          수평 스크롤 바의 청취자입니다.
protected  class BasicScrollPaneUI.MouseWheelHandler
          MouseWheelHandler 는, MouseWheelListener 인터페이스를 구현하는 내부 클래스입니다.
 class BasicScrollPaneUI.PropertyChangeHandler
           
 class BasicScrollPaneUI.ViewportChangeHandler
          뷰포트이벤트의 청취자입니다.
 class BasicScrollPaneUI.VSBChangeListener
          수직 스크롤 바의 청취자입니다.
 
필드의 개요
protected  ChangeListener hsbChangeListener
           
protected  JScrollPane scrollpane
           
protected  PropertyChangeListener spPropertyChangeListener
           
protected  ChangeListener viewportChangeListener
           
protected  ChangeListener vsbChangeListener
           
 
인터페이스 javax.swing. ScrollPaneConstants 로부터 상속된 필드
COLUMN_HEADER , HORIZONTAL_SCROLLBAR , HORIZONTAL_SCROLLBAR_ALWAYS , HORIZONTAL_SCROLLBAR_AS_NEEDED , HORIZONTAL_SCROLLBAR_NEVER , HORIZONTAL_SCROLLBAR_POLICY , LOWER_LEADING_CORNER , LOWER_LEFT_CORNER , LOWER_RIGHT_CORNER , LOWER_TRAILING_CORNER , ROW_HEADER , UPPER_LEADING_CORNER , UPPER_LEFT_CORNER , UPPER_RIGHT_CORNER , UPPER_TRAILING_CORNER , VERTICAL_SCROLLBAR , VERTICAL_SCROLLBAR_ALWAYS , VERTICAL_SCROLLBAR_AS_NEEDED , VERTICAL_SCROLLBAR_NEVER , VERTICAL_SCROLLBAR_POLICY , VIEWPORT
 
생성자 의 개요
BasicScrollPaneUI ()
           
 
메소드의 개요
protected  ChangeListener createHSBChangeListener ()
           
protected  MouseWheelListener createMouseWheelListener ()
          installUI()가 JScrollPane 에 추가하는 MouseWheelListener 의 인스턴스를 작성합니다.
protected  PropertyChangeListener createPropertyChangeListener ()
          installUI()에 의해 JScrollPane 에 추가되는 PropertyChangeListener 의 인스턴스를 생성합니다.
static ComponentUI createUI (JComponent  x)
           
protected  ChangeListener createViewportChangeListener ()
           
protected  ChangeListener createVSBChangeListener ()
           
 int getBaseline (JComponent  c, int width, int height)
          baseline를 돌려줍니다.
 Component.BaselineResizeBehavior getBaselineResizeBehavior (JComponent  c)
          사이즈의 변화에 맞추어 컴퍼넌트의 baseline가 어떻게 변화하는지를 나타내는 열거를 돌려줍니다.
 Dimension getMaximumSize (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트의 최대 사이즈를 돌려줍니다.
protected  void installDefaults (JScrollPane  scrollpane)
           
protected  void installKeyboardActions (JScrollPane  c)
           
protected  void installListeners (JScrollPane  c)
           
 void installUI (JComponent  x)
          Look & Feel 에 적절한, 지정된 컴퍼넌트를 구성합니다.
 void paint (Graphics  g, JComponent  c)
          Look &Feel 에 적절한, 지정된 컴퍼넌트를 그립니다.
protected  void syncScrollPaneWithViewport ()
           
protected  void uninstallDefaults (JScrollPane  c)
           
protected  void uninstallKeyboardActions (JScrollPane  c)
           
protected  void uninstallListeners (JComponent  c)
           
 void uninstallUI (JComponent  c)
          installUI 시에, 지정된 컴퍼넌트로 구성된 내용을 취소합니다.
protected  void updateColumnHeader (PropertyChangeEvent  e)
           
protected  void updateRowHeader (PropertyChangeEvent  e)
           
protected  void updateScrollBarDisplayPolicy (PropertyChangeEvent  e)
           
protected  void updateViewport (PropertyChangeEvent  e)
           
 
클래스 javax.swing.plaf. ComponentUI 로부터 상속된 메소드
contains , getAccessibleChild , getAccessibleChildrenCount , getMinimumSize , getPreferredSize , update
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

scrollpane

protected JScrollPane  scrollpane

vsbChangeListener

protected ChangeListener  vsbChangeListener

hsbChangeListener

protected ChangeListener  hsbChangeListener

viewportChangeListener

protected ChangeListener  viewportChangeListener

spPropertyChangeListener

protected PropertyChangeListener  spPropertyChangeListener
생성자 의 상세

BasicScrollPaneUI

public BasicScrollPaneUI()
메소드의 상세

createUI

public static ComponentUI  createUI(JComponent  x)

paint

public void paint(Graphics  g,
                  JComponent  c)
클래스 ComponentUI 의 기술:
Look &Feel 에 적절한, 지정된 컴퍼넌트를 그립니다. 이 메소드는 ComponentUI.update 메소드로부터, 지정된 컴퍼넌트가 페인트 될 때 불려 갑니다. 서브 클래스는, 이 메소드를 오버라이드(override) 해, 지정된 Graphics 객체를 사용해 컴퍼넌트의 내용을 draw 할 필요가 있습니다.

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

getMaximumSize

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

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

installDefaults

protected void installDefaults(JScrollPane  scrollpane)

installListeners

protected void installListeners(JScrollPane  c)

installKeyboardActions

protected void installKeyboardActions(JScrollPane  c)

installUI

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

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

uninstallDefaults

protected void uninstallDefaults(JScrollPane  c)

uninstallListeners

protected void uninstallListeners(JComponent  c)

uninstallKeyboardActions

protected void uninstallKeyboardActions(JScrollPane  c)

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()

syncScrollPaneWithViewport

protected void syncScrollPaneWithViewport()

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)

createViewportChangeListener

protected ChangeListener  createViewportChangeListener()

createHSBChangeListener

protected ChangeListener  createHSBChangeListener()

createVSBChangeListener

protected ChangeListener  createVSBChangeListener()

createMouseWheelListener

protected MouseWheelListener  createMouseWheelListener()
installUI()가 JScrollPane 에 추가하는 MouseWheelListener 의 인스턴스를 작성합니다. 반환되는 MouseWheelListener 는, 마우스 휠 구동의 스크롤의 처리에 사용됩니다.

반환값:
마우스 휠 구동의 스크롤을 구현하는 MouseWheelListener
도입된 버젼:
1.4
관련 항목:
installUI(javax.swing.JComponent) , BasicScrollPaneUI.MouseWheelHandler

updateScrollBarDisplayPolicy

protected void updateScrollBarDisplayPolicy(PropertyChangeEvent  e)

updateViewport

protected void updateViewport(PropertyChangeEvent  e)

updateRowHeader

protected void updateRowHeader(PropertyChangeEvent  e)

updateColumnHeader

protected void updateColumnHeader(PropertyChangeEvent  e)

createPropertyChangeListener

protected PropertyChangeListener  createPropertyChangeListener()
installUI()에 의해 JScrollPane 에 추가되는 PropertyChangeListener 의 인스턴스를 생성합니다. 서브 클래스는 이 메소드를 오버라이드(override) 해, 독자적인 PropertyChangeListener 를 돌려줄 수가 있습니다. 다음에 예를 나타냅니다.
 class MyScrollPaneUI extends BasicScrollPaneUI {
    protected PropertyChangeListener createPropertyChangeListener() {
        return new MyPropertyChangeListener();
    }
    public class MyPropertyChangeListener extends PropertyChangeListener {
        public void propertyChange(PropertyChangeEvent e) {
            if (e.getPropertyName(). equals("viewport")) {
                // do some extra work when the viewport changes
            }
            super.propertyChange(e);
        }
    }
 }
 

관련 항목:
PropertyChangeListener , installUI(javax.swing.JComponent)

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