Java/JavaFX 구현

Java FX // 구현 // Scene // SceneManager

문스코딩 2018. 8. 3. 12:41

Scene을 싱글톤 전역객체로 관리하기

Scene을 어디서든 사용할 수 있도록 Singleton 처리 합니다. 

primaryStage에 대한 접근이나, 

Scene을 이용하는 경우 다음 SceneManager를 통해 할 수 있습니다.

public class SceneManager {
    private static SceneManager instance;
    Stage stage;
    Scene scene;
    Share share;

    public SceneManager( Stage stage ) {
        if(SceneManager.instance != null) return;
        SceneManager.instance = this;

        this.stage = stage;
        this.share = new Share();
        this.stage.setUserData(share);
    }

    public static SceneManager getInstance() {
        return instance;
    }

    public Stage getStage() {
        return this.stage;
    }

    public void setStage(Stage stage) {
        this.stage = stage;
    }

    public void setTitle( String title ) {
        stage.setTitle(title);
    }

    public void moveScene( String location ) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource(location));
            scene = new Scene(root);
            stage.setScene(scene);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}


반응형