[JavaFX 가이드] 1. JavaFX 시작하기

j_huuuunS·2022년 12월 23일
2

JavaFX 가이드

목록 보기
1/4
post-thumbnail

1. JavaFX의 특징

JAVA GUI 프로그램 개발을 위한 프레임워크

  • SWING을 대체
  • 하드웨어 가속 지원
  • 크로스 플랫폼 지원
  • FXML - XML기반의 마크업 언어로 작성하는 UI
  • CSS를 이용해 디자인 가능
  • JDK 8 까지는 기본 제공 라이브러리였으나 JDK 11부터 분리됨

2. JavaFX vs SWING

JavaFX의 장점

  • AWT/SWING보다 빠름
  • 깔끔하고 현대적인 디자인
  • FXML을 사용해 코드에서 UI 분리 가능
  • WebKit 사용으로 이미지, 사운드 삽입 편리
  • SWING 어플리케이션과 통합 가능

3. JavaFX 시작하기

준비물 : JavaFX SDK, SceneBuilder

JavaFX 경로: C:\Program Files\Java\javafx-sdk-19\lib
SceneBuilder 경로: C:\Users\사용자명\AppData\Local\SceneBuilder

3.1 Eclipse에서 시작하기

Eclipse 2022-09 / JDK 17.0.5 / JavaFX 19 / SceneBuilder 19.0.0

❌(2022.12.23 기준) Eclipse 2022-12 버전에서 FXML 파일을 생성할 수 없는 오류가 보고되었으므로 2022-09 버전 설치를 권장합니다.

  • Eclipse 상단 메뉴의 [Help-Eclipse MarketPlace...] 를 클릭하고 e(fx)clipse를 설치합니다.

  • 하단의 프로그래스 바에서 설치 상황을 확인할 수 있습니다. 설치가 끝나면 eclipse를 재시작합니다.

  • 설치가 완료되면 [File-New-Project...]에서 JavaFX Project를 만듭니다.

  • 프로젝트를 만들었지만 추가적인 설정을 해 주어야 실행 가능합니다.

  • Packege Explorer에서 프로젝트 우클릭 -> [Build Path - Configure Build Path...]을 클릭합니다. Modulepath를 클릭하고 우측의 Add Library를 클릭합니다.

  • User Library -> Next -> User Libraries... -> New를 클릭하고, 라이브러리 이름을 설정합니다.

  • 파일 탐색기에서 다운로드 받은 JavaFX 파일을 압축을 풀고, [JavaFX-lib] 폴더의 모든 Jar을 선택합니다.

  • Eclipse가 JavaFX 프로젝트를 실행할 수 있도록 [Run-Run Configurations...]에서 Arguments의 VM arguments에 다음과 같은 명령어를 입력합니다.

    --module-path "[JavaFX lib 위치]" --add-modules=javafx.fxml,javafx.controls

  • SceneBuilder를 설치하고 [Window-Preferences] JAVAFX 설정에서 SceneBuilder.exe의 경로를 지정합니다.

  • 모든 과정을 완료하면 다음과 같이 실행됩니다.

3.2 IntelliJ에서 시작하기

IntelliJ 2022.3.1 / JDK 17.0.5 / JavaFX 19 / SceneBuilder 19.0.0

  • IntelliJ의 경우 처음부터 JavaFX 프로젝트를 만들 수 있습니다.

  • 초기 프로젝트를 build 후 다음과 같이 실행할 수 있습니다.

  • 모듈을 사용하지 않는다면 Module-info.java를 삭제합니다.

  • [File-Project Structure-Libraries] 에서 기존 Maven 라이브러리를 모두 삭제합니다.

  • +버튼을 눌러 압축을 해제한 JavaFX SDK의 lib폴더를 지정합니다.

  • [Run - Edit Configurations - Main class] 에서 클래스를 지정합니다.

  • [Modify options - Add VM options] 를 추가하고 다음과 같은 명령어를 입력합니다.

    --module-path "[JavaFX lib 위치]" --add-modules=javafx.fxml,javafx.controls

  • 좌측 Project View에서 FXML파일 선택 후 Open in SceneBuilder를 클릭하여 Scenebuilder.exe파일의 경로를 지정합니다.

  • 모든 과정을 완료하면 다음과 같이 실행됩니다.

profile
한줄

0개의 댓글