일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 벌크연산
- 스프링 롬복
- unique result
- ubuntu
- jpa
- 회고
- clearAutomatically
- 레벨인터뷰
- 우분투
- @Query
- 우테코
- 우아한테크코스 블랙잭
- 우아한테크코스
- Argos
- 배포스크립트
- NonUniqueResultException
- ubuntu이미지
- SpringDataJPA
- 밤랩
- bomblab
- Mock
- BDDMockito
- 우아한테크코스5기
- 영속성컨텍스트
- @Param
- docker에 ubuntu
- 검색api
- 스프링부트배포
- 자바 롬복
- @Modifying
- Today
- Total
Jeomxon's Tech Note
2019-07-18 모각코(3) 본문
--------------------------------------------------------------------------
날짜 : 2019-07-18
회차 : 3
목표 : 3시간 동안 최대한 Chapter 14 배치 관리자 끝내기
---------------------------------------------------------------------------
***오늘 배운 내용 정리***
Chapter14 배치 관리자
1. 배치 관리자의 개요
*배치 관리자(layout manager) : 컴포넌트의 배치를 자동화하는 관리자
-FlowLayout : 컴포넌트들을 왼쪽에서 오른쪽으로 버튼을 배치한다.
-BorderLayout : 상, 하, 좌, 우, 중앙 중 하나로 컴포넌트들이 추가된다.
-GridLayout : 컴포넌트들을 격자 모습으로 배치한다.
-BoxLayout : 컴포넌트를 하나의 행이나 열에 배치한다.
-CardLayout : 여러 장의 카드 위에 컴포넌트를 배치한다.
2. 배치 관리자를 사용하는 방법
컨테이너 클래스에 배치 관리자를 설정하려면 먼저 new연산자를 이용하여 배치 관리자 객체를 만들고 컨테이너 클래스의 setLayout() 메서드를 사용하여 이 객체를 배치 관리자로 지정한다.
- 배치 방향 설정
보통 왼쪽에서 오른쪽, 위쪽에서 아래쪽으로 컴포넌트를 정렬한다.
컨테이너의 방향을 설정하기 위해서는 setComponentOrientation() 또는 applyComponentOrientation()을 사용한다.
3. FlowLayout 클래스
FlowLayout은 JPanel 클래스의 디폴트 배치 관리자이다.
*생성자
-FlowLayout() : 새로운 FlowLayout객체를 생성, 기본 설정은 중앙 배치이며 간격은 세로, 가로 각각 5픽셀이다.
-FlowLayout(int align) : FlowLayout.LEADING, FlowLayout.CENTER, FlowLayout.TRAILING <--- 정렬 매개변수
-FlowLayout(int align, int hgap, int vgap) : 지정된 정렬 방식과 수평 간격 hgap과 수직 간격 vgap을 가진 새로운 FlowLayout 객체를 생성한다.
*예제
4. BorderLayout 클래스
컨테이너를 5개의 영역으로 구분하고 각각의 영역에 컴포넌트를 배치
-사용방법
panel.add(aComponent, BorderLayout.PAGE_START); // 북쪽에 배치한다.
*생성자
-BorderLayout(int hgap, int vgap) : 컴포넌트 사이의 수평 간격 hgap과 수직 간격 vgap을 가지는 BorderLayout 객체 생성
-setHgap(int) : 컴포넌트 사이의 수평 간격 설정(단위는 픽셀)
-setVgap(int) : 컴포넌트 사이의 수직 간격 설정
*예제
5. GridLayout 클래스
컴포넌트들을 격자 모양으로 배치한다. 모든 컴포넌트들의 크기는 같게 되며 컨테이너의 모든 공간은 컴포넌트로 채워진다.
*생성자
-GridLayout(int row, int cols) : rows 행과 cols 열을 가지는 GridLayout 객체를 생성한다. 만약 rows나 cols가 0이면 필요한 만큼의 행이나 열이 만들어진다.
-GridLayout(int rows, int cols, int hgap, int vgap) : rows 행과 cols 열을 가지는 GridLayout 객체를 생성한다. hgap과 vgap은 컴포넌트 사이의 수평 간격과 수직 간격으로 단위는 픽셀이다.
ex) setLayout(new GridLayout(3, 0));
*예제
6. BoxLayout 클래스
BoxLayout은 컴포넌트를 다른 컴포넌트 위에 쌓거나 컴포넌트를 하나의 행에 배치할 수 있다.
*예제
7. CardLayout 클래스
CardLayout 클래스는 여러 개의 카드가 쌓여 있는 형태로 컴포넌트를 배치하는 경우에 사용한다.
이 클래스를 사용하였을 경우 항상 맨 위의 컴포넌트만 보인다. 여러 가지 메소드를 통해 화면에 보이는 카드를 선택할 수 있다.
*생성자
-CardLayout() : 디폴트 생성자
-CardLayout(int hgap, int vgap) : hgap과 vgap은 컴포넌트 사이의 수평 간격과 수직 간격을 픽셀로 표시한다. 기본값은 0이다.
*메소드
-first (Container parent) : 첫 번째 카드를 선택한다.
-next (Container parent) : 다음 카드를 선택한다. 만약 현재 선택된 카드가 마지막이면 처음으로 간다.
-previous (Container parent) : 이전 카드를 선택한다.
-last (Container parent) : 마지막 카드를 선택한다.
-show (Container parent, String s) : 문자열 s로 지정한 카드를 선택한다.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
***활동 정리***
느낀 점 : 먼저 레이아웃을 배움으로써 버튼 등의 배치에 대해서 어떻게 구성을 해야 할지에 대한 방법을 익힐 수 있었으며, 평소 디자인과 같은 외적인 부분을 중요하게 생각해서 레이아웃을 올바르게 앎으로써 더 체계적인 구성과 기능에 맞는 배치를 하는 방법을 깨달을 수 있었던 시간이 되었던 것 같다. 그리고 많은 메소드들이 있어서 무작정 외우기 보다는 주어진 메소드 명에 맞게 외우려고 해 보고 찾아보면서 하는 것이 더 다양하고 기능적인 메소드를 사용할 수 있다는 것을 깨달았다.
'Mogaco > 2019하계' 카테고리의 다른 글
2019-07-16 모각코(2) (0) | 2019.10.29 |
---|---|
2019-07-09 모각코(1) (0) | 2019.10.03 |