전체 글
-
-
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..
-
javaFX - CSS (inline 스타일)고급 JAVA/FX 2020. 5. 23. 12:22
javaFX CSS 스타일 JavaFX UI를 담당하는 컨트롤러와 컨트롤은 HTML에 CSS를 적용하는 것처럼 CSS를 적용할 수 있다. HTML에 적용할 때와 다른 점 : 속성명 앞에 "-fx-" 가 붙음. JavaFX의 기본 CSS 는 modena.css에 작성되어 있음. 기본 CSS 대신 다른 모양이나 색깔을 주고 싶으면 커스텀 CSS 를 정의해면 됨. 커스텀 CSS : 기본 CSS를 오버라이딩해서 기본 속성을 변경 or 새로운 석성을 정의한 것. 정의하는 방법 1. inline 스타일로 컨테이너 or 컨트롤의 style 속성을 이용하여 CSS에 직접 적용. 2. 외부 CSS 파일을 생성해서 Scene에 적용 ex) .