5주차 - javaFX GridPane
2022. 9. 4. 22:05ㆍJava/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 |