고급 JAVA/FX
-
javaFX - 자식창에서 정보수정하면 부모창에 바로 반영고급 JAVA/FX 2020. 5. 25. 03:42
javaFX - 자식창에서 정보수정하면 부모창에 바로 반영 1. 부모 컨트롤러에 자식 컨트롤러 객체 생성 2. 자식 컨트롤러에서 부모 컨트롤러 생성 2-1 set, get 메소드 생성 3. 부모 컨트롤러에서 자식의 경로로 loader 만들기 3-1. 만든 loader의 컨트롤러를 getController() 로 얻어오기 3-2. 자식 컨틀롤러에서 만든 set을 사용해서 파라미터로 부모 컨트롤러를 set해주기 4. 자식 컨트롤러에서 부모컨트롤러 객체로 부모 컨트롤러 메소드를 불러 사용
-
-
javaFX - 화면 이동과 애니메이션 (애니메이션)고급 JAVA/FX 2020. 5. 23. 12:46
애니메이션 : 컨트롤 or 컨트롤러의 Property 변화를 주어진 시간동안 진행함으로써 구현. 애니메이션과 관련된 클래스 translateX 속성을 주어진 종료값까지 변화시켜 수평 방향으로 슬라이드하는 애니메이션을 구현한 코드 종료값은 x 좌표 값이고, 음수, 0, 양수 모두 가질 수 있음. 1.객체 생성 : Timeline tl = new Timeline(); 2. KeyValue kv = new KeyValue(parent.translateXProperty(), 종료값); 3. KeyFrame kf = new KeyFrame(Duration.millis(지속시간), kf); 4. tl.getKeyFrames().add(kf); 5.tl.play(); translateX 속성을 주어진 종료값까지 변화..
-
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"); P..
-
javaFX - 쓰레드 동시성(Platform.renLater() 메서드 )고급 JAVA/FX 2020. 5. 23. 12:41
javaFX 쓰레드 동시성 JavaFX UI는 스레드가 안전하지 않기 때문에 UI 를 생성하거나 변경하는 작업은 JavaFX Application Thread가 담당하고, 다른 작은 스레드들은 UI를 생성하거나 변경할 수 없음. main 스레드가 Application 의 launch() 메서드를 호출하면서 생성된 JavaFX Application Thread는 1. start() 메서드를 실행시키면서 모든 UI를 생성함 2. 컨트롤에서 이벤트가 발생할 경우 컨트롤러의 이번트 처리 메서드를 실행 * JavaFX Application 개발 시 주의할 점 : JavaFX Application Thread가 시간을 필요로 하는 작업은 하지 않도록 하는 것입니다. 시간을 필요로 하는 작업을 하게 되면 그 시간 동..
-
javaFX - CSS 스타일 (font 속성 / shadow 효과 / 화면 스킨 입히기)고급 JAVA/FX 2020. 5. 23. 12:31
예제) 자바 package thisisjava; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; public class AppMain extends Application { @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("root.fxml")); Scene scene = new Scene(root); scene.getS..
-
javaFX - CSS 스타일(border 속성, background 속성)고급 JAVA/FX 2020. 5. 23. 12:28
border 속성 - 컨테이너 및 컨트롤의 경계선 스타일을 지정 예제) 자바 package thisisjava; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; public class AppMain extends Application { @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("root.fxml")); Scene..
-
javaFX - CSS스타일 (외부 CSS스타일 : 선택자, css파일 적용)고급 JAVA/FX 2020. 5. 23. 12:25
외부 CSS 스타일 인라인 스타일보다 중복 코드를 줄이고, 재사용성을 높이면서 유지보수도 편리한 방법. 선택자 중괄호 {} 에 정의된 CSS 속성을 적용할 컨테이너 or 컨트롤을 선택하는 역할. 외부 CSS파일은 스타일을 적용할 컨테이너와 컨트롤을 선택해주는 선택자가 필요. 선언 방법 선택자 { 속성 : 값; 속성 : 값; } 선택자 작성 방법 Type 선택자 Type { 속성:값; 속성:값;} id 선택자 #id { 속성:값; 속성:값;} class 선택자 .class { 속성:값; 속성:값;} HTML에서 CSS 적용방법과 큰 차이 X ex) /* 전체 Label 선택 */ Label { -fx-padding: 5; } /* id="blog" 을 가진 컨트롤 선택 */ #blog { -fx-backg..