JAVA FX
Controller
업데이트 :: 2018.07.27
Controller
컨트롤러란 컨테이너에 할당된 로직을 담당하는 클래스입니다.
Initializable과 Initialize()
컨트롤러는 "Initializable" 인터페이스를 구현해야합니다.
그리고 다음 인터페이스는 "Initialize()" 메소드재정의를 강제합니다.
"Initialize()"는 primaryStage가 생성되기전 각각의 컨트롤들을 초기화하는 부분입니다.
Controller에서 Stage접근
메인클래스에서 전달
FXMLoader loader = new FXMLoader(getClass().getResource("root.fxml")); RootController controller loader.getController(); controller.setPrimaryStage(primaryStage);
public class RootController implement Initializable { private Stage primaryStage; public void setPrimaryStage(Stage primaryStage) { this.primaryStage = primaryStage; } }
컨테이너 또는 컨트롤로부터 얻는 방법
Stage primaryStage = (Stage) 컨트롤.getScene().getWindow();
주의할 점은 다음 코드는 Initialize() 메소드 안에서 사용할 수 없습니다.
아직 primaryStage가 생성되지 않았기 때문입니다.
Created by SDM
작성자 정보
e-mail :: jm921106@naver.com || jm921106@gmail.com
github :: https://github.com/moonscoding
반응형
'Java > JavaFX 개념' 카테고리의 다른 글
Java FX // 개념 // Popup & Dialog (0) | 2018.07.27 |
---|---|
Java FX // 개념// Scene (1) | 2018.07.26 |
JavaFX // 개념 // TableView (0) | 2018.07.26 |