[Java] Container

임혜정 ·2021년 10월 19일
0

Java

목록 보기
14/16

Container


JFrame

  • 새로운 window를 생성 가능하다
  • new 연산자를 통해 생성한다
  • pack() : 자동으로 component의 크기를 조절한다

메소드
add(component)
setLocation(x, y) : frame의 위치를 설정한다
setSize(width, height) : frame의 크기를 설정한다

JPanel


보조 프레임 이다 조각난 프레임이라고 생각한다
조금이라도 복잡하면 JPanel 등장 필수이다
먼저 패널위에 레이아웃을 설정하여 배치해주고, frame에 추가해준다

Component


panel

컴포넌트들을 포함하고 있도록 설계된 컨테이너 중의 하나이다
frame에 쓰기 전에 panel을 사용하고 frame에 추가해준다

lable

편집이 불가능한 텍스트를 표시하기 위한 컴포넌트이다
텍스트와 이미지를 동시에 표시할 수 있다.

text field

사용자가 한 줄의 텍스트를 입력할 수 있는 기본적인 텍스트 콘트롤이다.

button

자바에서 컴포넌트는 단순 컴포넌트와 컨테이너 컴포넌트로 나뉜다.

  • 컨테이너란 다른 컴포넌트들을 내부에 넣을 수 있다.
    • JFrame, JPanel
  • Component는 다른 컴포넌트들도 넣으면서 자기자신도 다른container에 속한다
    • JButton, JLabel, JKCheckbox

Layout Managers


  • 컴포넌트를 어떻게 배치할지 규칙을 정한다
  • 컨테이너 안에 존재하는 컴포넌트들의 크기와 위치를 자동적으로 관리하는 객체이다
  • container의 setLayout(LayoutManager) 메소드를 사용하여 container의 Layout을 설정한다.
    • frame.setLayout(~~)
    • ~~자리는 인자가 들어갈 자리이기 때문에 class를 바로 넣어줄 수 없다
    • 따라서 객체를 넣어준다 new FlowLayout

요소들을 add 할때 배치하는 class

설정하는방법
생성된 객체를 setLayout 메소드를 사용하여 배치 관리자로 지정한다.
setLayout(new GridLayout(0, 3));

FlowLayout


기본 layout이다
컴포넌트들을 오니쪽에서 오른쪽으로 배치한다
하나의 줄에서 차례로 배치하고 공간이 없으면 다음 줄에 배치한다

GridLayout


행,열로 구성된 table 이다

BorderLayout


JFrame의 default Layout이다
컴포넌트들이 5개의 영역분할을 한다 : center, 동, 서, 남, 북
영역을 지정하지않으면 center에 놓이게 된다

GUI 작성 절차


  • 컨테이너를 생성한다 frame
  • 컴포넌트를 추가한다
    • frame 에 component를 넣는것은 add를 하는것이다
      (add 메소드는 컨테이너에서 가지고 있다 )
    • Panel
    • Button
profile
포기하지 않고 끝까지 🐥

0개의 댓글

관련 채용 정보