Component — 화면에 표시되고 사용자와 상호작용하는 객체

Component — 화면에 표시되고 사용자와 상호작용하는 객체

컴포넌트(component)는 화면에 표시될 수 있고 사용자와 상호작용할 수 있는 그래픽 표현을 가진 객체예요. 일반적인 GUI의 버튼, 체크 박스, 스크롤바가 컴포넌트의 예예요.

출처: Java API Reference

본문

public abstract class Component extends Object implements ImageObserver , MenuContainer , Serializable

Component 클래스는 메뉴와 관련되지 않은 Abstract Window Toolkit 컴포넌트들의 추상 수퍼클래스예요. Component를 직접 확장해 경량(lightweight) 컴포넌트를 만들 수도 있어요.

경량 컴포넌트는 네이티브 창과 연결되지 않은 컴포넌트이고, 중량(heavyweight) 컴포넌트는 네이티브 창과 연결된 컴포넌트예요. isLightweight() 메서드로 두 종류를 구분할 수 있어요.

경량과 중량 컴포넌트는 하나의 컴포넌트 계층에서 섞일 수 있지만, 올바르게 동작하려면 계층 전체가 유효(valid)해야 해요. 컴포넌트 경계를 바꾸거나 컨테이너에서 컴포넌트를 추가/제거해 계층이 무효화되면, 계층의 최상위 무효 컨테이너에서 Container.validate()를 호출해 전체 계층을 다시 검증해야 해요.

직렬화에 관해서는, 객체가 저장될 때 Serializable 프로토콜을 따르는 AWT 리스너만 저장돼요. 직렬화 가능하지 않은 리스너는 writeObject 시점에 버려져요.

더 알아보기