JComponent — 스윙 컴포넌트 기본 클래스
JComponent — 스윙 컴포넌트 기본 클래스
JComponent는 최상위 컨테이너를 제외한 모든 Swing 컴포넌트의 기본 클래스입니다. 플러그형 룩앤필, 키 입력 처리, 툴팁, 접근성, 이중 버퍼링 등을 지원합니다.
본문
public abstract class JComponent extends Container implements Serializable
JComponent에서 상속받은 컴포넌트를 사용하려면 그 컴포넌트를 루트가 최상위 Swing 컨테이너인 포함(containment) 계층에 놓아야 합니다. JFrame, JDialog, JApplet 같은 최상위 Swing 컨테이너는 다른 Swing 컴포넌트가 자신을 그릴 장소를 제공하는 특수 컴포넌트입니다. JComponent 클래스는 다음을 제공합니다.
- Swing 구조를 사용하는 표준 및 사용자 정의 컴포넌트의 기본 클래스
- 프로그래머가 지정하거나 (선택적으로) 사용자가 런타임에 선택할 수 있는 "플러그형 룩앤필"(L&F). 각 컴포넌트의 룩앤필은 ComponentUI에서 파생된 객체인 UI 위임이 제공합니다
- 포괄적인 키 입력(KeyStroke) 처리
- 툴팁 지원 — 커서가 컴포넌트에 머물 때 팝업으로 나타나는 짧은 설명
- 접근성 지원. JComponent는 Accessible 인터페이스의 모든 메서드를 포함하지만 실제로 구현하지는 않습니다. 그 책임은 JComponent를 확장하는 각 개별 클래스에 있습니다
- 컴포넌트별 프로퍼티 지원. putClientProperty(java.lang.Object, java.lang.Object)와 getClientProperty(java.lang.Object) 메서드로 JComponent에서 파생된 객체에 이름-객체 쌍을 연결할 수 있습니다
- 이중 버퍼링과 테두리 지원을 포함하는 페인팅 인프라
이 주제들에 대한 자세한 내용은 Swing 패키지 설명과 The Java Tutorial의 "The JComponent Class" 섹션을 참고하세요. JComponent와 하위 클래스는 특정 프로퍼티의 기본값을 문서화합니다. 예를 들어 JTable은 기본 행 높이를 16으로 문서화합니다. ComponentUI가 있는 각 JComponent 하위 클래스는 생성자의 일부로 ComponentUI를 만듭니다. 경고: Swing은 스레드에 안전하지 않습니다. 이 클래스의 직렬화된 객체는 향후 Swing 버전과 호환되지 않을 수 있습니다. 현재 직렬화 지원은 단기 저장이나 같은 버전의 Swing을 실행하는 애플리케이션 간 RMI에 적합합니다. 1.4부터 모든 JavaBean의 장기 저장 지원이 java.beans 패키지에 추가되었으니 XMLEncoder를 참고하세요.
WHEN_FOCUSED
public static final int WHEN_FOCUSED
포커스된 컴포넌트가 키 입력을 받을 때 사용되는 KeyboardAction의 조건을 나타내는 상수입니다.
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
public static final int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
포커스된 컴포넌트나 그 조상에게 등록된 KeyboardAction 조건을 나타내는 상수입니다.
WHEN_IN_FOCUSED_WINDOW
public static final int WHEN_IN_FOCUSED_WINDOW
포커스된 컴포넌트가 포함된 창에 등록된 KeyboardAction 조건을 나타내는 상수입니다. 이 조건은 키 입력을 여러 컴포넌트에서 공유할 때 사용합니다.
UNDEFINED_CONDITION
public static final int UNDEFINED_CONDITION
조건이 정의되지 않았음을 나타내는 상수입니다.
TOOL_TIP_TEXT_KEY
public static final String TOOL_TIP_TEXT_KEY
도구 설명 텍스트를 저장하는 클라이언트 프로퍼티의 키입니다.
setOpaque
public void setOpaque(boolean isOpaque)
true이면 컴포넌트가 경계 안의 모든 픽셀을 그립니다. 그렇지 않으면 일부 또는 모든 픽셀을 그리지 않아 아래 픽셀이 비쳐 보입니다. JComponent의 이 프로퍼티 기본값은 false입니다. 그러나 대부분의 표준 JComponent 하위 클래스(JButton, JTree 등)의 기본값은 룩앤필에 따라 다릅니다.
- 매개변수:
isOpaque- 컴포넌트가 불투명해야 하면 true
isOpaque
public boolean isOpaque()
이 컴포넌트가 완전히 불투명한지 여부를 반환합니다. 불투명 컴포넌트는 사각 경계 안의 모든 픽셀을 그립니다.
- 재정의:
Component클래스의isOpaque - 반환값: 컴포넌트가 완전히 불투명하면 true
setToolTipText
public void setToolTipText(String text)
툴팁에 표시할 텍스트를 등록합니다. 텍스트는 커서가 컴포넌트에 머물 때 표시됩니다.
- 매개변수:
text- 표시할 문자열,null이면 이 컴포넌트의 툴팁이 꺼집니다
getToolTipText
public String getToolTipText()
setToolTipText로 설정된 툴팁 문자열을 반환합니다.
- 반환값: 툴팁 텍스트
setBorder
public void setBorder(Border border)
이 컴포넌트의 테두리를 설정합니다. null이면 이 컴포넌트의 테두리가 제거됩니다.
- 매개변수:
border- 설정할Border
getBorder
public Border getBorder()
이 컴포넌트의 테두리를 반환합니다.
- 반환값: 이 컴포넌트의
Border
setPreferredSize
public void setPreferredSize(Dimension preferredSize)
이 컴포넌트의 선호 크기를 설정합니다.
- 매개변수:
preferredSize- 새 선호 크기
getPreferredSize
public Dimension getPreferredSize()
이 컴포넌트의 선호 크기를 반환합니다.
- 반환값: 선호 크기
setMinimumSize
public void setMinimumSize(Dimension minimumSize)
이 컴포넌트의 최소 크기를 설정합니다.
- 매개변수:
minimumSize- 새 최소 크기
getMinimumSize
public Dimension getMinimumSize()
이 컴포넌트의 최소 크기를 반환합니다.
- 반환값: 최소 크기
setMaximumSize
public void setMaximumSize(Dimension maximumSize)
이 컴포넌트의 최대 크기를 설정합니다.
- 매개변수:
maximumSize- 새 최대 크기
getMaximumSize
public Dimension getMaximumSize()
이 컴포넌트의 최대 크기를 반환합니다.
- 반환값: 최대 크기
putClientProperty
public final void putClientProperty(Object key, Object value)
이 컴포넌트에 임의의 키/값 "클라이언트 프로퍼티"를 추가합니다. value가 null이면 프로퍼티를 제거합니다. 클라이언트 프로퍼티 변경은 PropertyChange 이벤트로 보고됩니다.
- 매개변수:
key- 새 클라이언트 프로퍼티 키 - 매개변수:
value- 새 클라이언트 프로퍼티 값,null이면 프로퍼티를 제거
getClientProperty
public final Object getClientProperty(Object key)
지정된 키의 프로퍼티 값을 반환합니다. putClientProperty로 추가된 프로퍼티만 null이 아닌 값을 반환합니다.
- 매개변수:
key- 조회할 키 - 반환값: 이 프로퍼티 값 또는
null
setAlignmentX
public void setAlignmentX(float alignmentX)
x 축 정렬 값을 설정합니다.
- 매개변수:
alignmentX- 0.0~1.0 사이의 새 정렬 값
getAlignmentX
public float getAlignmentX()
x 축 정렬 값을 반환합니다.
- 반환값: x 축 정렬 값
setAlignmentY
public void setAlignmentY(float alignmentY)
y 축 정렬 값을 설정합니다.
- 매개변수:
alignmentY- 0.0~1.0 사이의 새 정렬 값
getAlignmentY
public float getAlignmentY()
y 축 정렬 값을 반환합니다.
- 반환값: y 축 정렬 값
scrollRectToVisible
public void scrollRectToVisible(Rectangle aRect)
scrollRectToVisible() 메시지를 JComponent의 부모로 전달합니다. JViewport 같은 요청을 처리할 수 있는 컴포넌트는 이 메서드를 재정의합니다.
- 매개변수:
aRect- 보이는Rectangle
setAutoscrolls
public void setAutoscrolls(boolean autoscrolls)
autoscrolls 프로퍼티를 설정합니다. true이면 마우스가 컴포넌트 경계 밖으로 드래그되고 마우스 이동이 멈췄을 때 합성 마우스 드래그 이벤트가 생성됩니다.
- 매개변수:
autoscrolls- 합성 마우스 드래그 이벤트를 생성하려면 true
getAutoscrolls
public boolean getAutoscrolls()
autoscrolls 프로퍼티를 가져옵니다.
- 반환값: autoscrolls 프로퍼티 값
setTransferHandler
public void setTransferHandler(TransferHandler newHandler)
TransferHandler를 설정합니다. cut/copy/paste와 드래그 앤 드롭으로 이 컴포넌트 안팎으로 데이터를 전송하는 지원을 제공합니다.
- 매개변수:
newHandler- 새TransferHandler - 버전: 1.4
getTransferHandler
public TransferHandler getTransferHandler()
transferHandler 프로퍼티를 가져옵니다.
- 반환값: transferHandler 프로퍼티 값
- 버전: 1.4
revalidate
public void revalidate()
지연된 자동 레이아웃을 지원합니다. invalidate를 호출한 다음 이 컴포넌트의 validateRoot를 검증할 컴포넌트 목록에 추가합니다.
- 재정의:
Component클래스의revalidate
isValidateRoot
public boolean isValidateRoot()
true를 반환하면 이 컴포넌트의 하위 항목에 의한 revalidate 호출이 이 루트부터 시작하는 전체 트리가 검증되게 합니다. 기본적으로 false를 반환합니다.
- 재정의:
Container클래스의isValidateRoot - 반환값: 기본값 false
setDoubleBuffered
public void setDoubleBuffered(boolean aFlag)
이 컴포넌트가 버퍼를 사용해 그릴지 여부를 설정합니다. true이면 이 컴포넌트의 모든 그리기가 화면 밖 페인팅 버퍼에서 이루어집니다.
- 매개변수:
aFlag- 이중 버퍼링으로 설정하려면 true
isDoubleBuffered
public boolean isDoubleBuffered()
이 컴포넌트가 버퍼를 사용해 그려야 하는지 여부를 반환합니다.
- 재정의:
Component클래스의isDoubleBuffered - 반환값: 이중 버퍼링되면 true
getRootPane
public JRootPane getRootPane()
이 컴포넌트의 JRootPane 조상을 반환합니다.
- 반환값: 이 컴포넌트를 담는
JRootPane, 없으면null
getTopLevelAncestor
public Container getTopLevelAncestor()
이 컴포넌트의 최상위 조상(담고 있는 Window나 Applet)을 반환하거나, 어떤 컨테이너에도 추가되지 않았으면 null을 반환합니다.
- 반환값: 이 컴포넌트가 속한 최상위
Container, 없으면null
getX
public int getX()
컴포넌트 원점의 현재 x 좌표를 반환합니다.
- 재정의:
Component클래스의getX - 반환값: 원점의 x 좌표
getY
public int getY()
컴포넌트 원점의 현재 y 좌표를 반환합니다.
- 재정의:
Component클래스의getY - 반환값: 원점의 y 좌표
getWidth
public int getWidth()
이 컴포넌트의 현재 너비를 반환합니다.
- 재정의:
Component클래스의getWidth - 반환값: 현재 너비
getHeight
public int getHeight()
이 컴포넌트의 현재 높이를 반환합니다.
- 재정의:
Component클래스의getHeight - 반환값: 현재 높이
computeVisibleRect
public void computeVisibleRect(Rectangle visibleRect)
컴포넌트의 "보이는 사각형" — 이 컴포넌트와 모든 조상의 보이는 사각형 교집합을 반환합니다. 결과는 visibleRect에 저장됩니다.
- 매개변수:
visibleRect- 이 메서드의 반환값으로 사용되는 사각형
getVisibleRect
public Rectangle getVisibleRect()
컴포넌트의 "보이는 사각형"을 반환합니다.
- 반환값: 보이는 사각형