▶ JComponent 클래스
- 최상위 컨테이너를 제외하고는 거의 모든 컴포넌트가 JComponent를 상속받는다.
- JComponent 클래스에는 스윙 컴포넌트들이 공통적으로 가져야 하는 속성과 메소드가 포함되어 있다.
- JComponent 클래스는 Component와 Container 클래스를 상속받는다.
- Component 클래스는 “화면 그리기”와 “이벤트 처리 기능”을 제공한다.
- Container 클래스는 “컴포넌트 추가 및 제거 기능”과 “레이아웃 기능”을 제공한다.
- 이 기능들은 스윙 컴포넌트들도 모두 사용할 수 있다.
▶ 컴포넌트의 외관 변경 메소드
메소드 | 설명 |
void setBorder(Border border) Border getBorder() | 컴포넌트의 경계를 설정하거나 반환한다. |
void setForeground(Color color) Color getForeground() | 컴포넌트의 전경색을 설정하거나 반환한다. |
void setBackground(Color color) Color getBackground() | 컴포넌트의 배경색을 설정하거나 반환한다. |
void setFont(Font font) Font getFont() | 컴포넌트의 폰트를 설정하거나 반환한다. |
void setCursor(Cursor cursor) Cursor getCursor() | 컴포넌트의 커서를 설정한다. |
▶ 컴포넌트의 상태 변경 메소드
메소드 | 설명 |
void setToolTipText(String text) | 툴팁에 표시되는 텍스트를 설정한다. * 툴팁 : 컴포넌트에 마우스를 두면 표시됨 |
void setName(String name) String getName() | 컴포넌트의 이름을 설정하거나 반환한다. |
boolean isShowing() | 컴포넌트가 화면에 표시되고 있으면 true, 표시되지 않으면 false를 반환한다. |
void setEnabled(boolean enabled) boolean isEnabled() | 컴포넌트의 활성화 여부를 설정하고 반환한다. |
void setVisible(boolean visible) boolean isVisible() | 컴포넌트를 화면에 표시할지를 설정하고 표시 여부를 반환한다. |
▶ 공통 이벤트 처리 메소드
메소드 | 설명 |
void addMouseListener(MouseListener mouseListener) | 마우스 리스너를 추가한다. |
void removeMouseListener(MouseListener mouseListener) | 마우스 리스너를 제거한다. |
void addActionListener(ActionListener actionListener) | 액션 리스너를 추가한다. |
void removeActionListener(ActionListener actionListener) | 액션 리스너를 제거한다. |
... | 각 리스너마다 메소드가 addXXXX(), removeXXXX() 형태로 존재한다. |
▶ 컴포넌트 그리기 메소드
메소드 | 설명 |
void repaint() void repaint(int x1, int y1, int x2, int y2) | 컴포넌트의 일부나 전체를 다시 그리라고 요청한다. |
void revalidate() | 컨테이너 안의 컴포넌트를 다시 배치하라고 요청한다. |
void paintComponent(Grpahics g) | 컴포넌트를 그린다. 만약 사용자 맞춤형 컴포넌트에서는 이 메소드를 오버라이딩(재정의)하여서 그림을 그린다. |
▶ 컨테이너에 컴포넌트 추가 및 제거 메소드
메소드 | 설명 |
Component add(Component component) | 컴포넌트를 컨테이너에 추가한다. |
void remove(Component component) | 컨테이너에서 컴포넌트를 삭제한다. |
void removeAll() | 컨테이너의 모든 컴포넌트를 삭제한다. |
Container getParent() | 컴포넌트가 추가된 컨테이너를 반환한다. |
▶ 레이아웃 메소드
메소드 | 설명 |
int getWidth() int getHeight() | 해당 컴포넌트의 너비와 높이를 픽셀 단위로 반환한다. |
Dimension getSize() | 해당 컴포넌트의 크기를 픽셀 단위로 반환한다. |
int getX() int getY() | 부모 컨테이너를 기준으로 컴포넌트의 상대적인 x좌표, y좌표를 반환한다. |
Point getLocation() | 부모 컨테이너 안에서의 상대적인 위치를 반환한다. |
Point getLocationOnScreen() | 모니터 화면에서의 절대 위치를 반환한다. |
void setLocation(int x, int y) void setLocation(Point point) | 부모 컨테이너 안에서의 컴포넌트의 좌표를 지정하며, 배치 관리자가 없는 경우에만 유효하다. |
void setBounds(int x, int y, int width, int height) | 부모 컨테이너 안에서의 컴포넌트의 위치와 크기를 설정한다. 배치 관리자가 없는 경우에만 유효하다. |
▶ 크기와 위치 정보 얻는 메소드
메소드 | 설명 |
void setPreferredSize(Dimension dimen) void setMaximumSize(Dimension dimen) void setMinimunSize(Dimension dimen) | 컴포넌트의 크기, 최소 크기, 최대 크기를 설정한다. |
void setAlignmentX(float x) void setAlignmentY(float y) | 컨테이너 안에서의 컴포넌트들의 정렬을 지정한다. |
void setLayout(LayoutManager) LayoutManager getLayout() | 배치 관리자를 설정하거나 반환한다. |