5주차 - javaFX GridPane

2022. 9. 4. 22:05Java/javaFX & Scene Builder

GridPane은 이름처럼 그리드를 가지는 Pane이다. 마치 엑셀의 셀과 같이 생겼다.

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

	@Override
	public void start(Stage primaryStage) throws Exception {
		Label labelId = new Label("아이디");
		Label labelPw = new Label("비밀번호");
		
		TextField id = new TextField();
		PasswordField pw = new PasswordField(); // 입력값을 보여주지 않는 클래스
		
		GridPane grid = new GridPane();
//		.setColumnIndex(grid, null); 열을 병합
//		.setColumnSpan(grid, null); 행을 병합

		GridPane.setConstraints(labelId, 0, 0);
		GridPane.setConstraints(labelPw, 0, 1);
		
		GridPane.setConstraints(id, 1, 0);
		GridPane.setConstraints(pw, 1, 1);
		
//		grid.setPadding(new Insets(50)); // 4방향 모두 균일한 공백 부여
//		grid.setPadding(new Insets(70, 0, 0, 90));  // 상 우 하 좌 >> 시계방향순서
//		grid.setMargin(id, new Insets(80,0,0,80)); // 'id' 위치의 값에만 공백을 부여.
		//setPadding 은 그리드 내부에 공백 부여
		//setMargin 은 그리드 외부에 공백 부여
//		grid.setMargin(grid, new Insets(50));
		
		
		
		grid.setAlignment(Pos.CENTER);
		grid.setHgap(60);
		grid.setVgap(30);
		grid.getChildren().addAll(pw, id, labelPw, labelId);
		
		primaryStage.setTitle("타이틀 연습입니다.");
		primaryStage.setScene(new Scene(grid, 400, 200));
		primaryStage.show();
	}
}

위 코드의 실행 화면

위에서 GridPane은 엑셀의 셀과 비슷한 형태를 띈다고 얘기한 점에서 유추할 수 있는 것이 있다.

GridPane도 엑셀에서 셀병합 하듯이 열 또는 행을 병합할 수 있다.

열의 병합은 .setColumnIndex()

행의 병합은 .setColumnSpan()

이다.

'Java > javaFX & Scene Builder' 카테고리의 다른 글

5주차 - javaFX VBox  (0) 2022.09.05
5주차 - javaFX HBox  (0) 2022.09.05
5주차 - javaFx FlowPane  (0) 2022.09.04
5주차 - javaFx BorderPane  (0) 2022.09.04
5주차 - javafx AnchorPane  (0) 2022.09.04