JavaTM Platform
Standard Ed. 6

javax.swing.plaf
클래스 ComponentUI

java.lang.Object 
  상위를 확장 javax.swing.plaf.ComponentUI
직계의 기존의 서브 클래스:
ButtonUI , ColorChooserUI , ComboBoxUI , DesktopIconUI , DesktopPaneUI , FileChooserUI , InternalFrameUI , LabelUI , ListUI , MenuBarUI , OptionPaneUI , PanelUI , PopupMenuUI , ProgressBarUI , RootPaneUI , ScrollBarUI , ScrollPaneUI , SeparatorUI , SliderUI , SpinnerUI , SplitPaneUI , TabbedPaneUI , TableHeaderUI , TableUI , TextUI , ToolBarUI , ToolTipUI , TreeUI , ViewportUI


public abstract class ComponentUI
extends Object

Swing 의 플러그 인 가능한 Look & Feel 아키텍쳐(architecture)에 포함되는 모든 UI 위양 객체의 base class입니다. Swing 컴퍼넌트의 UI 위양 객체는 Look & Feel 에 의존하는 컴퍼넌트의 측면의 구현을 취급합니다. JComponent 클래스는, 인스톨 한 Look & Feel 에 따라서 다른 오퍼레이션 (페인트, 레이아웃의 계산등)을 위양 하기 위해서, 이 클래스로부터 메소드를 호출합니다. 클라이언트의 프로그램은, 직접 이 클래스의 메소드를 호출해서는 안됩니다.

관련 항목:
JComponent , UIManager

생성자 의 개요
ComponentUI ()
          유일한 생성자 입니다.
 
메소드의 개요
 boolean contains (JComponent  c, int x, int y)
          지정된 x, y 의 위치가, 지정된 컴퍼넌트의 Look & Feel 정의의 형상내에 있는 경우는,true 를 돌려줍니다.
static ComponentUI createUI (JComponent  c)
          지정된 컴퍼넌트의 UI 위양의 인스턴스를 돌려줍니다.
 Accessible getAccessibleChild (JComponent  c, int i)
          객체의 i 번째의 Accessible 의 아이를 돌려줍니다.
 int getAccessibleChildrenCount (JComponent  c)
          객체내의 접근성? 대응의 아이의 수를 돌려줍니다.
 int getBaseline (JComponent  c, int width, int height)
          baseline를 돌려줍니다.
 Component.BaselineResizeBehavior getBaselineResizeBehavior (JComponent  c)
          사이즈의 변화에 맞추어 컴퍼넌트의 baseline가 어떻게 변화하는지를 나타내는 열거를 돌려줍니다.
 Dimension getMaximumSize (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트의 최대 사이즈를 돌려줍니다.
 Dimension getMinimumSize (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트의 최소 사이즈를 돌려줍니다.
 Dimension getPreferredSize (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트의 적절한 사이즈를 돌려줍니다.
 void installUI (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트를 구성합니다.
 void paint (Graphics  g, JComponent  c)
          Look &Feel 에 적절한, 지정된 컴퍼넌트를 그립니다.
 void uninstallUI (JComponent  c)
          installUI 시에, 지정된 컴퍼넌트로 구성된 내용을 취소합니다.
 void update (Graphics  g, JComponent  c)
          지정된 컴퍼넌트를 페인트 할 시간이 된 것을, 이 UI 위양에 통지합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

ComponentUI

public ComponentUI()
유일한 생성자 입니다. 서브 클래스의 생성자 에 의한 호출용으로, 일반적으로은 암묵적으로 불려 갑니다.

메소드의 상세

installUI

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

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

uninstallUI

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

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

paint

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

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

update

public void update(Graphics  g,
                   JComponent  c)
지정된 컴퍼넌트를 페인트 할 시간이 된 것을, 이 UI 위양에 통지합니다. 이 메소드는, 지정된 컴퍼넌트가 페인트 될 때 JComponent 에 의해 불려 갑니다. opaque 프로퍼티이 true 의 경우, 이 메소드는, 지정된 컴퍼넌트를 그 디폴트의 백그라운드 칼라로 전부 칠해, 곧바로 paint 를 호출합니다. 일반적으로, 이 메소드는 서브 클래스에 의해 오버라이드(override) 할 필요는 없습니다. 모든 Look & Feel draw 코드는 paint 메소드에 상주할 필요가 있습니다.

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

getPreferredSize

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

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

getMinimumSize

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

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

getMaximumSize

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

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

contains

public boolean contains(JComponent  c,
                        int x,
                        int y)
지정된 x, y 의 위치가, 지정된 컴퍼넌트의 Look & Feel 정의의 형상내에 있는 경우는,true 를 돌려줍니다. xy 는, 지정된 컴퍼넌트의 좌표 체계를 기준에 정의됩니다. 컴퍼넌트의 bounds 는 구형에 제한됩니다만, 이 메소드는 히트의 검출을 위해서(때문에) 이러한 경계내에서 구형 이외의 형상을 정의하는 방법을 제공합니다.

파라미터:
c - x, y 의 위치가 조회되는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있는
x - 점의 x 좌표
y - 점의 y 좌표
관련 항목:
JComponent.contains(int, int) , Component.contains(int, int)

createUI

public static ComponentUI  createUI(JComponent  c)
지정된 컴퍼넌트의 UI 위양의 인스턴스를 돌려줍니다. 각 서브 클래스는, 그 자체의 정적인 createUI 메소드를 제공해, 그 UI 위양의 서브 클래스의 인스턴스를 돌려줄 필요가 있습니다. UI 위양의 서브 클래스가 상태 없음의 경우, 복수의 컴퍼넌트에 공유되는 인스턴스를 돌려줍니다. UI 위양이 상태 있는 경우, 컴퍼넌트 마다 새로운 인스턴스를 돌려줄 필요가 있습니다. 이 메소드는 호출해선 안 되기 때문에, 그 디폴트 구현은 에러를 throw 합니다.


getBaseline

public int getBaseline(JComponent  c,
                       int width,
                       int height)
baseline를 돌려줍니다. baseline는, 컴퍼넌트의 상단으로부터 측정됩니다. 이 메소드는, 주로 LayoutManager 가 그 baseline에 따라 컴퍼넌트를 배치하기 위해서 사용합니다. 반환값이 0 보다 작은 경우, 이 컴퍼넌트의 baseline는 적절하지는 않습니다. LayoutManager 는, 그 baseline상에 이 컴퍼넌트를 배치하지 않습니다.

이 메소드는 -1 을 돌려줍니다. 의미가 있는 baseline를 가지는 서브 클래스에서 적절히 오버라이드(override) 됩니다.

파라미터:
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가 어떻게 변화하는지를 나타내는 열거를 돌려줍니다. 이 메소드는, 주로 레이아웃 매니저와 GUI 빌더로 사용됩니다.

이 메소드는 BaselineResizeBehavior.OTHER 를 돌려줍니다. baseline를 지원하는 서브 클래스에서, 적절히 오버라이드(override) 됩니다.

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

getAccessibleChildrenCount

public int getAccessibleChildrenCount(JComponent  c)
객체내의 접근성? 대응의 아이의 수를 돌려줍니다. 이 객체의 모든 아이가 Accessible 인터페이스를 구현하고 있는 경우, 이 메소드는 이 객체의 아이의 수를 돌려줍니다. UI 가, 화면상에 컴퍼넌트로서 표시되는 영역은 제공하지만, 이 영역을 제공하는데 실제의 컴퍼넌트를 사용하지 않는 경우, UI 에 대해 필요에 따라서 이 메소드를 오버라이드(override) 할 수 있습니다. 주:버젼 1.3 이후는, 이 메소드 대신에 Component.AccessibleAWTComponent.getAccessibleChildrenCount() 를 호출하는 것이 추천 되고 있습니다.

반환값:
객체내의 접근성? 대응의 아이의 수
관련 항목:
getAccessibleChild(javax.swing.JComponent, int)

getAccessibleChild

public Accessible  getAccessibleChild(JComponent  c,
                                     int i)
객체의 i 번째의 Accessible 의 아이를 돌려줍니다. UI 가, 화면상에 컴퍼넌트로서 표시되는 영역은 제공하지만, 이 영역을 제공하는데 실제의 컴퍼넌트를 사용하지 않는 경우, UI 는 필요에 따라서 이 메소드를 오버라이드(override) 합니다.

주:버젼 1.3 이후는, 이 메소드 대신에 Component.AccessibleAWTComponent.getAccessibleChild() 를 호출하는 것이 추천 되고 있습니다.

파라미터:
i - 제로로부터 시작되는 아이의 인덱스
반환값:
객체내의 i 번째의 Accessible 의 아이
관련 항목:
getAccessibleChildrenCount(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 도 참조해 주세요.