JAVA fx - JAVA fx 컨테이너 - BorderPane (2022-08-15)

2022. 8. 15. 23:503층 1구역 - 개발의 장/JAVAfx - GUI

1. 서론

 

BorderPane은 위, 아래, 왼쪽, 오른쪽, 가운데 구역을 나누어 표현할 수 있다.

 

고찰에서도 간단히 언급했으니 한번쯤 참고해보도록 하자.

2022.08.15 - [필기노트/문제의 고찰] - JAVA FX - Pane(컨테이너)의 원리의 대한 고찰(Scene, Label, BorderPane) (2022-08-15)

 

JAVA FX - Pane(컨테이너)의 원리의 대한 고찰(Scene, Label, BorderPane) (2022-08-15)

오늘은 광복절이다. 오늘날 '대한민국' 이라는 나라가 있게 해준 영웅 분들께 감사드립니다...(_ _) 1.서론 이번의 고찰은 Pane에 대한 것이다. 보통 '컨테이너' 라고 하는데... 부트캠프에서 배우다

sukw9512.tistory.com

 

2. 본론

 

고찰에서는 label를 활용하여 나타내보았으니 이번엔

button 오브젝트를 통해 BorderPane를 알아보자.

 

package layouts_0812;

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class BorderPaneEx extends Application {
	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage primaryStage) throws Exception {
		Button[] buttons = new Button[5];
		String[] strings =  {"TOP", "LEFT", "CENTER", "RIGHT", "BOTTOM"};

		for(int i = 0; i < buttons.length; i++) {
			buttons[i] = new Button(strings[i]);
		}
		
		//0번 버튼(TOP)의 높이를 50만큼 지정
		buttons[0].setPrefHeight(50);
		//0번 버튼(TOP)의 가로를 100만큼 지정
		buttons[0].setPrefWidth(100);
		//4번 버튼(BOTTOM)의 가로를 400만큼 지정
		buttons[4].setPrefWidth(400);
		BorderPane border = new BorderPane();
		//LEFT와 TOP은 상주하는 위치가 거의 일치하므로
		//구분을 주기위한 코드
		border.setAlignment(buttons[0], Pos.TOP_CENTER);
		border.setTop(buttons[0]);
		border.setLeft(buttons[1]);
		border.setCenter(buttons[2]);
		border.setRight(buttons[3]);
		border.setBottom(buttons[4]);
		
		primaryStage.setScene(new Scene(border, 400, 300));
		primaryStage.setTitle("BoderPaneEx");
		primaryStage.show();
	}
}

 

결과를 보자.

 

3. 결론

 

컨테이너 하나하나를 보자면 그렇게 어렵게 느껴지지 않는다.

오히려 객체지향을 이용한 퀴즈를 풀 때보다 쉽다.

 

단, 이것을 레고조립 하듯이 딱딱 배치할 수 있어야 하고, 무엇보다 코드 내에서 오류발생이 적으니

실행 시켰을 때, 내가 어디서 틀렸는지 알 수 없다는 게 큰 문제이긴 하다.

 

(여태까지 틀린건 직접적으로 보여주는 코드를 잘못 써서 틀린거지만....)