본문 바로가기
프로그래밍/JAVA 끄적끄적

[JAVAFX] stage, scene, root container 정리(스테이지, 씬, 루트컨테이너)

by 노잼인간이라불립니다 2020. 11. 25.

stage = 윈도우 화면 = 보여줄 창 전체를 말함.

scene = 윈도우 화면 안에서 보여줄 하나의 장면, 윈도우는 한번에 하나의 scene만 보여 줄 수 있음.

root container = 매우 중요 (BorderPane, HBox, VBox 등 레이아웃의 큰 틀. 즉 root.fxml의 레이아웃의 제일 큰 뼈대)

control = 루트 컨테이너 안에 들어가는 여러가지 컨트롤 (VBox, Hbox, Button 등의 컨트롤 등 기능구현 가능한 모든 것들)

 

JAVAFX에서는 프로그램적 레이아웃이 아닌 FXML 레이아웃을 사용함 그래서 대부분의 기능은 controller에서 구현하고, 레이아웃은 fxml파일에서 구현.

 

코드에서 루트컨테이너를 가져올 때 parent로 가져와도 되지만 BorderPane 등의 타입으로 가져오기도 가능.

 

구현 순서(코드작성시) -> 루트컨테이너 불러옴.(parent or 컨트롤타입으로(ex)BorderPane, HBox, VBox 등)) -> Scene 객체를 새로 생성하여 매개값으로 루트컨테이너를 넣어줌 -> 선언된 Stage객체인 PrimaryStage(Stage타입) 또는 dialog(Stage 타입) 등에 setScene하여 장면 넣는다 -> 객체.show() 하여 보여준다. ->끝.