본문 바로가기
Develop/Java

JAVA Container & Layout

by J0DEV 2021. 8. 9.
반응형

FrameEx.zip
다운로드


컨테이너 종류

1. 컨테이너의 정의

컨테이너의 정의

  • 자신의 영역 내부에 다른 컴포넌트를 포함하는 기능을 가진 컴포넌트이다.
  • 영역 안에 다른 컴포넌트를 포함하거나 컨테이너를 다른 컨테이너가 포함할 수도 있다.
  • 컴포넌트는 컨테이너에 부착해야만 화면에 나타날 수 있다.
  • 부착은 add()메소드를 이용한다.
  • 컨테이너에 컴포넌트의 위치를 결정하는 것을 Layout이라고 한다.

2. 컨테이너의 종류

a. Frame 클래스

  • Window 클래스의 자식 클래스이다.
  • 대부분의 윈도우 Application에서 사용한다.
  • setVisible(true) 메소드를 호출하여 화면에 표시하는 것이다.
  • Frame클래스는 윈도우 역활을 하는 클래스이며 윈도우 테두리, 메뉴바, 타이틀바 등을 포함할 수 있다.

b. Panel 클래스

  • 컴포넌트를 그룹별로 모을 때 사용한다.
  • 컴포넌트들을 Panel에 배치하고 패널을 Frame 이나 Applet에 부착한다.

c. Applet 클래스

  • 웹브라우저에 출력하기 위한 클래스이다.

d. Dialog 클래스

  • 대화창을 구성할 때 사용한다.
  • 팝업 윈도우의 형태로 사용한다.
  • 팝업 윈도우의 형태로 나타난다.

Frame 클래스 사용법

1. Frame 클래스 사용법

2. Panel 클래스 사용법

레이아웃

1.레이아웃 개념

레이아웃이란?

  • GUI 환경에서 컨테이너 위에 각종 컴포넌트를 배치하는 기법이다.
  • 일반적으로 컴포넌트의 크기와 위치를 절대값으로 지정한다.

자바프로그램의 레이아웃 한계점

  • 자바 프로그램은 플랫폼 독립적인 환경에서 실행 됨으로 특정 운영체제의 윈도우 환경에 맞게 설계된 레이아웃은 다른 운영체제에서는 적합한 모양이 아닌 문제가 발생한다.

레이아웃 관리자란?

  • 서로 다른 운영체제에서도 레이아웃이 적절하게 이루어지도록 컴포넌트의 위치 및 크기를 관리해 주는 클래스이다.

레이아웃 관리자의 종류

FlowLayout

  1. 컴포넌트가 컨테이너에 한 줄로 배치되는 형태
  2. 한 줄에 포함되지 않으면 다음줄로 내려간다.
  3. 컨테이너의 크기에 따라 컴포넌트의 크기도 자동으로 조정

BorderLayout

  1. 동, 서, 남, 북, 중앙의 다섯가지 위치 지정

GridLayout

  1. 가상의 행과 열로 분할하여 컴퓨넌트를 배치

CardLayout

  1. 여러 개의 컴포넌트를 포개어 놓은 구조로서, 한번에 하나의 컴포넌트만 보이게 된다.

디폴트 레이아웃 관리자

  • 레이아웃 관리자를 지정하지 않았을 경우 자동으로 설정되는 레이아웃 관리자.
  • Frame, Dialog : BoarderLayout 디폴트로 선정
  • Applet, Panel : FlowLayout() 디폴트로 선정

 

 

2. 레이아웃 관리자 사용 방법

레이아웃 관리자 사용방법

  • setLayout()메소드를 이용하여 레이아웃 관리자를 생성한다.
  • setLayout()메소드의 인자는 레이아웃 관리자의 인스턴스를 필요로 한다.
  • setLayout(new FlowLayout());
  • setLayout(new BorderLayout());
  • setLayout(new GridLayout());
  • setLayout(new CardLayout());
  • add()메소드로 컴포넌트 객체를 부착한다.

 

 

 

 

반응형

'Develop > Java' 카테고리의 다른 글

JAVA 상위하위레벨 이벤트  (0) 2021.08.09
JAVA Event  (0) 2021.08.09
JAVA AWT & Swing  (0) 2021.08.09
JAVA Generic  (0) 2021.08.09
JAVA 자바중요클래스  (0) 2021.08.09