안녕, 세상!

Eclipse 환경에서 JavaFX 사용하기 (JDK11 버전 이후) 본문

It공부/Java

Eclipse 환경에서 JavaFX 사용하기 (JDK11 버전 이후)

dev_Lumin 2020. 8. 5. 20:14

javafx는 자바언어로 컨포넌트들을 보다 편하게 위치시키고 디자인할 수 있는 그래픽 미디어 패키지입니다.

 

자바 응용 프로그램을 개발하기 위한 JDK는 JDK11부터 javafx가 별개로 떨어져서 javafx 플러그인 설치만으로 사용할 수가 없습니다.

 

우선 플러그인 부터 설치하겠습니다.

 

(1) JavaFX 플러그인 설치

 

1. 이클립스 환경에서 [Help] -> [Eclipse Marcketspace]로 들어갑니다.

 

2. 'Find: ' 라는 검색창에 'javafx'라고 검색하면 e(fx) clipse 가 나오고 오른쪽 하단에 install 버튼을 누릅니다.

(저는 이미 설치되어 있어서 installed 라고 되어 있습니다.)

 

 

 

3. 설치 중에 Licence Agreement 가 나오면 'I accept ~'를 체크하여 동의하고 [finish] 버튼을 누릅니다.

 

 

 

설치 진행은 이클립스 환경 오른쪽 하단에서 확인할 수 있습니다.

 

 

 

대략 53% 정도 되면 다음과 같은 선택 창이 나옵니다.

[Select All] 버튼을 눌러 위의 항목을 체크 한 후 [Accept selected] 버튼을 눌러줍니다.

 

 

 

4. 설치가 끝나면 이클립스 프로그램을 재시작해줍니다.

 

 

 

 

(2) Javafx 프로젝트 만들기

1. 이클립스 환경에서 [File] -> [New] -> [Project]를 클릭합니다.

2. JavaFX Project를 선택한 후 Next를 누릅니다.

 

 

 

3. 이름과 jdk로 설정하고 Finish 버튼을 누릅니다.

 

 

프로젝트설정이 완료되었습니다. 

하지만 다음과 같이 오류가 있는 것을 확인할 수 있습니다.

그 이유는 Main.java를 눌러서 확인할 수 있습니다.

 

이클립스 환경에서 javafx를 import를 통해서 읽지 못하고 있기 때문에 오류가 발생한 것입니다.

읽지 못하는 이유는 javafx의 jdk 파일이 없기 때문입니다.

처음에 말했듯이 JDK11 버전부터 javafx가 따로 떨어져 있어서 추가로 javafx의 jdk를 다운로드해야 합니다.

 

 

 

(3) JavaFX의 JDK 다운로드

1. JavaFX의 JDK를 다운로드하기 위해서 아래의 URL에 접속합니다.

https://openjfx.io/

 

JavaFX

JavaFX 14 OpenJFX is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and full

openjfx.io

 

 

Download를 클릭합니다.

 

 

 

2. 자신의 운영체제에 맞는 JDK 파일인 SDK를 다운로드하면 됩니다.

 

 

3. 다운로드 후 압축파일을 원하는 위치에 압축을 풀면 됩니다.

 

 

 

이클립스 환경으로 돌아와서 오류가 있는 javafx프로젝트를 가리키는 UserLibrary를 만들 것입니다.

 

 

 

4. 이클립스 환경의 [Window] -> [Preferences] -> [java] -> [Build path] -> [User libraries]로 접근한 후 [New] 버튼을 누릅니다.

 

 

5. 라이브러리의 이름을 설정하고 [ok] 버튼을 누른 후 [Add External JARs..]를 눌러 라이브러리 설정을 합니다.

 

 

 

6. 아까 다운로드한 javafx의 jdk파일에서 lib라는 파일로 이동해서 라이브러리 파일들을 모두 선택해줍니다.

 

 

7. [Apply and Close] 버튼을 눌러서 라이브러리를 적용시키고 창을 종료합니다.

 

 

 

8. 이클립스 환경의 오른쪽에 아까 만든 javafx 프로젝트명을 오른쪽 클릭하여 [Build path] -> [add libraries]를 엽니다.

 

 

 

9. [User Library]를 선택하고 [Next] 버튼을 누릅니다.

 

 

 

10. 앞서 만든 user library인 'javafx'라는 라이브러리가 보일 것입니다. 해당 항목을 체크하고 [Finish] 버튼을 누릅니다.

 

 

 

그러면 이클립스 환경에서 javafx를 읽어서 import 부분의 오류가 사라집니다!

 

여기서 아직 끝난 것이 아닙니다.

이 상태에서 한번 [run] 버튼을 눌러서 실행을 시도하면 다음과 같은 오류 메시지가 나옵니다.

Error: JavaFX runtime components are missing, and are required to run this application

 

 

javafx 모듈이 해당 프로젝트의 구성으로서 구체적으로 실행시키기 위해서 이클립스를 설정을 해야 합니다.

 

 

 

(4) 실행 설정

1. 이클립스 환경의 [run] 아이콘 -> [run configuration]을 열고 [(x)=Arguments]를 선택합니다.

 

 

2. VM arguments: 부분의 textarea에 다음과 같이 입력을 합니다.

 

--module-path "..." --add-modules=javafx.fxml,javafx.controls

 

 

"..." 이 부분은 앞서 설치한 javafx의 jdk파일의 lib파일의 경로를 정확하게 기입하면 됩니다.

또한 '--add-modules=' 부분에서 '=' 부분을 그냥 띄어서 써도 상관없습니다. 띄어서 썼는데 안되면 '='으로 쓰시길 바랍니다.

그리고 'javafx.fxml,javafx.controls' 이 부분에서 반점(콤마) 후 절대로 띄어쓰기를 하면 안 됩니다.

띄어쓰기를 하면 뒤에 위치해 있는 라이브러리 파일이 인식이 안돼서 다음과 같은 오류가 납니다.

Casued by: java.lang.ClassNotFoundException: javafx.controls

 

이 실수 때문에 저도 엄청 애먹었습니다.ㅜㅜ

꼭 띄어쓰기 안하도록 주의합시다!

 

 

3. 그리고 실행 [run]을 하면 실행이 잘되는 것을 확인할 수 있습니다.

 

 

 

javafx가 잘 실행되는 것을 확인할 수 있습니다!

 

 

 

위의 자료는 아래의 유튜브 영상을 참고했습니다.

https://www.youtube.com/watch?v=oVn6_2KuYbM&t=443s

 

'It공부 > Java' 카테고리의 다른 글

11. 네트워크 프로그래밍  (0) 2020.07.18
10. 스트림과 파일 처리  (0) 2020.07.17
9. 다중 쓰레드  (0) 2020.07.16
8. 그래픽  (0) 2020.07.15
7. 이벤트 프로그래밍 (2)  (0) 2020.07.14
Comments