0.개요
Java를 이용해 사용자의 UI설계에 도움을 주는 JavaFx는 크로스 플랫폼에서 실행하는 리치 클라이언트 애플리케이션을 개발하기 위해 그래픽과 미디어 패키지를 말합니다.
JavaFx는 자바 표준 UI였던 Swing을 대체하기 위해 만들어 졌으며 더 가볍고 더 강력해진 라이브러리입니다.
JDK11부터는 별도로 분리된 라이브러리로 제공되기에 설치및 환경 설정이 반드시 필요합니다
1.라이브러리 설치
링크에 접속하여 설치환경에 맞는 JavaFx라이브러리 파일을 다운 받습니다
https://gluonhq.com/products/javafx/
JavaFX - Gluon
Roadmap Release GA Date Latest version Long Term Support Extended or custom support Details 20 March 2023 (planned) early access no 19 September 2022 (planned) early access no 18 March 2022 18.0.2 (July 2022) no upon request details 17 September 2021 17.0.
gluonhq.com
다운받은 파일은 JDK가 위치한 파일경로로 옮깁니다.
파일을 옮겨 담고, 해당 경로를 복사해놓습니다.
2.라이브러리 등록
이클립스를 실행합니다 - 본 포스팅은 이클립스 11 버전을 기준으로 작성하였습니다.
javaFx를 적용하고자 하는 프로젝트 파일의 Properties를 선택하고
Java Build Path - Libraries탭을 선택합니다
파일선택창에서, 앞서 라이브러리를 설치한 경로에서 lib파일을 선택하여 jar 확장자인 라이브러리를 선택합니다.
성공적으로 등록된 라이브러리는 해당 탭에서 아래와같이 확인할 수 있습니다.
3.javaFx 작업환경 설정
라이브러리 설정이후 작업을 시작하면 ClassCastException이 발생합니다. 이것은 정상적으로 라이브러리가 작동할 수 있도록 컴파일에 별도의 인자를 지정해주면 해결될 수 있으며,
javaFx가 필요한 클래스에는 동일한 설정을 해줘야 합니다.
--module-path "C:\Program Files\Java\javafx-sdk-11\lib"
--add-modules javafx.controls,javafx.fxml
저장경로가 동일하다면 위의 구문을 그대로 붙여써도 무방하지만,
--module-path "라이브러리 저장 경로"
--add-modules javafx.controls,javafx.fxml
이로서 ClassCastException는 해소됩니다.
생성된 클래스에 해당 라이브러리로부터 Application클래스를 상속받아 클래스를 생성합니다.