JAVA Swing and Layout
Swing
JAVA Swing 은 JFrame 이 최상위 객체로 JFrame 을 상속 받은 class 를 위와 같이 윈도우 상에서 프로그램처럼 띄울 수 있습니다.
JPanel 은 JFrame 과 거의 동일하지만 JPanel 은 JFrame 안에서만 사용할 수 있습니다.
따라서 각각의 화면에 해당하는 UI class 에서 JPanel 을 생성하여 객체로 가지고 있으며
CherryPickerLoadManager class 에서 해당 UI class 를 생성한 후 객체를 불러들여 JFrame 에 추가하고
추가한 객체를 화면을 보이거나 보이지 않도록 설정하여 사용하도록 되어있습니다.
JAVA swing 은 HTML/CSS 와 달리 먼저 추가된 항목이 앞으로 나오도록 되어 있습니다.
따라서 가장 앞에 나타내야 하는 대상이라면 먼저 추가 필요합니다.
Layout
JPanel 은 setLayout 이라는 설정을 통해 내부 구성을 정의할 수 있습니다.
BorderLayout
panel 을 center, east, west, south, north 5개의 구간으로 나눕니다.
add 시 설정을 통해 배치할 위치를 지정할 수 있습니다.
해당 layout 을 설정하고 바로 객체를 추가하는 경우 객체의 크기가 자동 조절되어 의도한 것과 다른 크기로 나올 수 있습니다.
FlowLayout
default 로 설정되는 layout 입니다.
default 지만 명시적으로 하기 위해 설정 후 사용하는 것을 권장 드립니다.
추가되는 대상을 좌측, 중앙, 우측 정렬하도록 설정할 수 있습니다.
FlowLayout Left
FlowLayout Center
FlowLayout Right
BoxLayout
추가하는 대상을 X 혹은 Y 축 기준으로 추가합니다.(X 인 경우 가로, Y 인 경우 세로)
BoxLayout X_AXIS
BoxLayout Y_AXIS
GridLayout
설정한 크기의 Grid 로 분할하여 관리하도록 합니다.
GridLayout
null
내부 추가되는 대상을 x, y 좌표 값을 지정하여 특정 위치에 추가할 수 있습니다.
만약 추가하는 대상이 겹쳐서 나타나야 하는 경우 사용 필요합니다.
좌측 상단을 기준으로 0,0 좌표로 인식합니다.