Programing/JavaFX

Springboot + JavaFX + SceneBuilder 새창열기 open new window

리커니 2019. 10. 25.
반응형

 

Springboot + JavaFX + SceneBuilder 새창열기 open new window

 

Springboot + JavaFX + SceneBuilder 연동 방법은 아래의 Link를 참고하세요.

 

Link : Springboot + JavaFX + SceneBuilder 연동하기

 

Springboot + JavaFX + SceneBuilder 연동하기

Springboot + JavaFX + SceneBuilder 연동하기 JavaFX 와 SceneBuilder 설치는 아래의 Link를 참고하세요. Link : JavaFX java GUI 라이브러리 이클립스 설치 방법 JavaFX java GUI 라이브러리 이클립스 설치방법..

aljjabaegi.tistory.com

 

이전에 포스팅한 메뉴 추가 방법은 아래의 Link를 참고하세요.

 

Link : Springboot + JavaFX + SceneBuilder menu 추가 방법

 

Springboot + JavaFX + SceneBuilder menu 추가 방법

SpringBoot + JavaFX + SceneBuilder menu 추가 방법 spring boot와 javaFx, SceneBuilder Setting 관련해서는 아래의 Link를 참고하세요. Link : JavaFx java GUI 라이브러리 이클립스 설치방법 JavaFX java GUI..

aljjabaegi.tistory.com

 

File 메뉴에서 New 를 선택하면 새창이 열리도록 구현해보겠습니다.

좌측 Menu에서 Menuitem을 드래그 해서  File Menu 아래 추가합니다.

 

 

id 와 On Action 이벤트명을 입력합니다.

 

 

 

추가를 한 후에 저장을 하고 View > Show Sample Controller Skeleton 을 선택해

newWindow MenuItem과 onClickNewWindow 메소드 코드를 복사합니다.

 

 

복사한 코드를 메인 컨트롤러에 붙여넣습니다.

 

@Controller
public class Main {

    @FXML
    private MenuItem about;

    @FXML
    private MenuItem close;

    @FXML
    private MenuItem newWindow;
    
    @FXML
    void onClickNewWindow(ActionEvent event) {

    }
    
    @FXML
    void onClickClose(ActionEvent event) {
        System.out.println("close");
        System.exit(0);
    }

    @FXML
    void onClickAbout(ActionEvent event) {
        System.out.println("about");
    }
}

 

이제 새로운 창을 위한 fxml 파일을 생성합니다.

view 패키지에서 마우스오른쪽버튼 > New > Other > New FXML Document 선택

 

새로 생성한 fxml 파일을 SceneBuilder로 열어주세요.

 

 

AnchorPane 의 사이즈를(layout > pref width, height) 200x200 으로 하고

Label을 하나 추가해서 'new Window' 라고 입력합니다.

 

이제 onClickNewWindow 메소드에 새로 생성한 창이 뜨도록 이벤트만 입력하면 됩니다.

 

@FXML
void onClickNewWindow(ActionEvent event) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("/com/tistory/aljjabaegi/test/view/NewWindow.fxml"));
    Stage stage = new Stage();
    stage.setTitle("New Window");
    stage.initModality(Modality.APPLICATION_MODAL); //모달 팝업 처리
    stage.setResizable(false); // 크기 조절 막기
    stage.setScene(new Scene(root));
    stage.show();
}

 

리소스 경로만 맞춰서 위와 같이 작성하시고 저장 후 실행해보겠습니다.

 

 

새 창이 뜨는 것을 확인 하실 수 있습니다.

 

반응형

댓글

💲 추천 글