JAVA fx - JAVA fx 컨테이너 - 구역 구분하는 퀴즈 (2022-08-15)

2022. 8. 16. 00:223층 1구역 - 개발의 장/JAVAfx - GUI

1. 서론

 

배운 것을 토대로 다음과 같은 화면을 만들어보자.

 

 

2. 본론

 

package quiz_repeat;

import java.util.ArrayList;

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

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

	@Override
	public void start(Stage primaryStage) throws Exception {
		BorderPane border = new BorderPane();
		
		ArrayList<Label> labels = new ArrayList<Label>();
		labels.add(new Label("메뉴"));
		labels.add(new Label("홈"));
		labels.add(new Label("로그인"));
		
		FlowPane flowTop = new FlowPane();
		flowTop.getChildren().addAll(labels);
		flowTop.setHgap(100);
		flowTop.setStyle("-fx-background-color: pink");
		flowTop.setAlignment(Pos.CENTER);
		//전체적으로 여백을 15만큼 준다.
		flowTop.setPadding(new Insets(15));
		
		border.setTop(flowTop);
		
		Button menu = new Button("메뉴 나열");
		
		FlowPane flowLeft = new FlowPane();
		flowLeft.getChildren().add(menu);
		flowLeft.setPrefWidth(100);
		flowLeft.setStyle("-fx-background-color: blue");
		
		border.setLeft(flowLeft);
		
		FlowPane flowCenter = new FlowPane();
		flowCenter.getChildren().add(new Button("내용 들어가는 곳"));
		flowCenter.setStyle("-fx-background-color: orange");
		
		border.setCenter(flowCenter);
		
		GridPane gridRight = new GridPane();
		Button id = new Button("아이디 입력");
		Button pw = new Button("비밀번호 입력");
		Button login = new Button("로그인");
		
		id.setPrefSize(100, 10);
		pw.setPrefSize(100, 10);
		login.setPrefSize(100, 50);
		
		gridRight.setStyle("-fx-background-color: yellow");
		gridRight.getChildren().addAll(id, pw, login);
		gridRight.setConstraints(id, 0, 0);
		gridRight.setConstraints(pw, 0, 1);
		gridRight.setConstraints(login, 1, 0, 1, 2);
		gridRight.setPadding(new Insets(30));
		
		border.setRight(gridRight);
		
		FlowPane flowBottom = new FlowPane();
		flowBottom.getChildren().add(new Button("바닥글 들어가는 곳"));
		flowBottom.setPrefHeight(50);
		flowBottom.setStyle("-fx-background-color: green");
		flowBottom.setAlignment(Pos.CENTER);
		
		border.setBottom(flowBottom);
		
		primaryStage.setTitle("Quiz1_repeat");
		primaryStage.setScene(new Scene(border, 500, 250));
		primaryStage.show();
		
		
		
	}

}