-
javaFX - 화면 이동과 애니메이션 (화면 이동)고급 JAVA/FX 2020. 5. 23. 12:44
화면 이동과 애니메이션
애플리케이션은 메인화면 뿐만 아니라 회원가입 화면, 로그인화면, 목록화면 등등 많은 화면을
가지고 있음 => 애니메이션을 사용하면 화면이 이동될 때 지루하지 않게 해줌.
같은 화면에서도 마우스의 위치에 따라 컨트롤의 속성을 변화시켜 다이나믹한 애니메이션을 만들
수도 있음.
화면 이동
Stage에 새로운 Scene를 세팅하는 것이 화면을 이동하는 가장 쉬운 방법.
애플리케이션 실행 => start() 메서드는 메인 화면인 Scene를 생성,
primaryStage의 setScene()메서드로 Scene 설정.
@Override public void start(Stage primaryStage) throws Exception { primaryStage.setTitle("AAA"); Parent root = FXMLLoader.load(getClass().getResource("root.fxml"); Scene scene = new Scene(root); primaryStage.setScene(scene); primaryStage.show(); }
이 메인 화면에서 로그인화면으로 이동을 위해 버튼을 클릭했다면?
컨트롤러의 이벤트 처리 메서드는 로그인 Scene을 생성, primaryStage의 setScene()메서드로
메인 Scene을 로그인 Scene으로 변경.
public void handleButtonLogin(ActionEvent ae){ try{ Parent login = FXMLLoader.load(getClass().getResource("login.fxml"); Scene scene = new Scene(login); primaryStage.setScene(scene); }catch(Exception e){ e.printStackTrace(); } }
애니메이션을 적용하려면???
: 일시적으로 이전화면과 다음화면이 공존해야함.
*그러나 setScene()메서드로 화면 이동을하면, 이전 Scene는 Stage에서 제거됨
=> 애니메이션 적용 불가.
StackPane을 이용하여 화면 이동 효과와 함께 애니메이션 적용가능.
'고급 JAVA > FX' 카테고리의 다른 글
javaFX - 팝업창을 닫으면서 부모창 새로고침 (1) 2020.05.25 javaFX - 화면 이동과 애니메이션 (애니메이션) (0) 2020.05.23 javaFX - 쓰레드 동시성(Platform.renLater() 메서드 ) (0) 2020.05.23 javaFX - CSS 스타일 (font 속성 / shadow 효과 / 화면 스킨 입히기) (0) 2020.05.23 javaFX - CSS 스타일(border 속성, background 속성) (0) 2020.05.23