설정 환경
- Windows10 64bit
1. OpenJDK 다운로드 및 설치, 자바 환경변수 설정
2. OpenJFX 다운로드
3. 아파치 넷빈즈(Apache Netbeans) 11.2 다운로드 및 설치
4. Scene Builder 다운로드 및 설치
5. JavaFX 프로젝트 생성 및 빌드
01. OpenJDK 다운로드 및 설치, 자바 환경변수 설정
https://openjdk.java.net/install/
jdk.java.net/13
링크를 클릭하여 해당 버전을 다운받을 수 있는 곳으로 이동합니다.
현재(2019. 12. 11) open jdk 최신 릴리즈 버전은 13.0.1
이므로 해당 버전으로 설정 과정을 진행하겠습니다. zip
클릭하여 파일을 다운로드 합니다.
다운로드 받을 파일을 압축해제합니다.
내 PC
에서 마우스 오른쪽 버튼으로 속성 메뉴를 활성화 하여 속성
메뉴를 실행합니다. 또는 제어판>모든 제어판 항목>시스템
으로 시스템 속성을 실행합니다.
시스템 속성에서 환경 변수(N)
를 실행합니다.
환경 변수에서 시스템 변수(S)
의 새로 만들기(W)
를 실행합니다.
변수 이름
을 JAVA_HOME, 변수 값
을 압축 해제 한 OpenJDK 경로를 입력합니다.
시스템 변수의 Path
를 선택하여 편집
을 실행합니다.
새로 만들기(N)
를 실행하여, 위와 같이 %JAVA_HOME%\bin
을 입력합니다.
커맨드 입력에서 java -version
를 입력하여 환경 변수가 정상적으로 적용이 되였는지 확인합니다. 명령어 입력 시, 위와 같이 나오지 않는 경우, 컴퓨터 재부팅 또는 로그오프 후 재확인하면 됩니다.
02. OpenJFX 다운로드
https://gluonhq.com/products/javafx/ 경로로 이동합니다.
개발 환경에 맞는 SDK버전으로 다운로드 합니다. 저는 윈도우10 이므로 윈도우용 JavaFX SDK를 다운로드하겠습니다.
적당한 곳의 압축 해제 후, 해당 위치를 기억해둡니다. 넷빈즈 설치 후 JavaFX 프로젝트 생성 할때 사용 됩니다.
03. 아파치 넷빈즈(Apache Netbeans) 11.2 다운로드 및 설치
https://netbeans.apache.org/download/index.html 경로로 이동합니다.
Apache NetBeans 11 feature update 2 (NB 11.2) 을 클릭합니다.
본인 환경에 맞는 버전을 다운로드합니다. Apache-NetBeans-11.2-bin-windows-x64.exe 인스톨러 버전을 다운로드 합니다.
Apache-NetBeans-11.2-bin-windows-x64 파일을 더블클릭하여 설치를 진행합니다.
Finish를 클릭하여 설치를 완료하여 주시기 바랍니다.
04. Scene Builder 다운로드 및 설치
https://gluonhq.com/products/scene-builder/ 경로로 이동합니다.
Download Now를 클릭합니다.
Download를 클릭하여 해당 환경에 맞는 버전을 다운로드 후 설치를 진행합니다.
설치를 완료합니다.
05. JavaFX 프로젝트 생성 및 빌드
Apache NetBeans IDE 11.2를 실행합니다.
File > New Project 클릭합니다.
Java with ant - JavaFX - JavaFX FXML Application 선택 후, Next >를 클릭합니다.
필수 모듈이 없는 경우, 다운로드를 진행 후 적용이 필요합니다. Download and Activate를 클릭하여 필수 플러그인을 다운로드 및 적용를 진행합니다.
필수 플러그인 설치 완료 후 프로젝트 생성을 위해 Next >를 계속 진행합니다.
위의 이미지처럼 오류 메세지가 나오면서 프로젝트를 생성할 수 없습니다. openjfx 플러그인 설정을 추가해줘야 합니다. Cancel 를 선택하여 프로젝트 생성 창을 닫습니다.
오류 해결 방법은 https://openjfx.io/openjfx-docs/ 작성되여 있으며, 본문의 해결 방법으로 해결한 내용을 계속 작성합니다. 굳이 위의 링크를 참고하지 않아도 됩니다.
Tools - Libraries 메뉴를 클릭합니다.
좌측 하단에 New Library...를 클릭합니다.
Library Name에 JavaFX 13를 입력 후 OK를 클릭합니다.
추가된 JavaFX 13를 선택 후 Add JAR/Folder...를 클릭하여 위의 단계에서 진행한 openjfx 설치 경로를 찾아가 위의 선택한 플러그인을 추가합니다.
신규 프로젝트를 생성단계를 진행합니다.
Java with Ant - Java Application를 선택 후 Next를 진행합니다.
Project Name를 HelloFX를 입력, Project Location를 프로젝트 관리를 위한 폴더를 생성하여 선택합니다. Create Main Class항목은 체크를 해제합니다. Finish를 클릭하여 프로젝트 생성 단계를 마침니다.
프로젝트가 생성되였습니다. 현재는 JavaFX 개발 프로젝트가 아니라 Java 개발 프로젝트이기 때문에 JavaFX 개발 프로젝트로 설정을 해줘야합니다. 프로젝트의 속성 메뉴 Properties를 클릭합니다.
좌측 카테고리 메뉴에서 Libraries를 선택, Compile 탭에서 Classpath 우측에 +를 클릭하여 Add Library를 선택합니다. 위의 단계에서 등록한 라이브러리 JavaFX 13를 선택하여 추가합니다.
좌측 카테고리 메뉴 Run를 선택하여, VM Options에 --module-path "D:\_Project\Program Files\openjdk-13.0.1_windows-x64_bin\jdk-13.0.1\lib" --add-modules javafx.controls,javafx.fxml
입력합니다. OK를 클릭합니다. 이렇게하여 JavaFX 개발 프로젝트를 설정을 완료하였습니다. 다음으로 실제 JavaFX 코드를 작성하여 컴파일 및 빌드가 정상적으로 되는지 테스트를 해보겠습니다.
New - Java Package...를 선택하여 패키지를 생성합니다.
Package Name를 hellofx를 입력 후 Finish를 하여 패키지를 생성합니다.
추가된 패키지에서 New - Java Class...를 선택하여 자바 클래스 파일을 생성합니다.
Class Name은 HelloFX를 입력합니다. Finish를 클릭하여 클래스 파일을 생성합니다.
package hellofx;
public class HelloFX {
}
hellofx 패키지에서 New - Other를 선택합니다.
JavaFX - Empty FXML를 선택 후, Next > 를 클릭합니다.
FXML Name를 HelloFXML를 입력합니다. Next > 를 클릭합니다.
Use Java Controller 체크 후, Controller Name에 HelloFXController를 입력합니다. Next >를 클릭합니다.
Use Cascading Style Sheets 체크 해제 후, Finish를 클릭합니다.
package hellofx;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.Initializable;
public class HelloFXController implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
위와 같이 메인 클래스파일(HelloFX.java), 컨트롤러 클래스 파일(HelloFXController.java), UI 설정 파일(HelloFXML.fxml)를 확인 할 수 있습니다.
좀 더 개발환경을 편하도록 .fxml파일을 더블클릭하면, 자동을 Scene Builder를 실행하여 불러오도록 설정하도록 하겠습니다. 아래와 같이 Tools - Option에서 JAVA - JavaFX 탭에서 Scene Builder Home 경로를 설정해주시기 바랍니다.
HelloFXML.fxml 파일을 더블클릭하여, Scene Builder를 자동실행한다. 아니면 Scene Builder를 실행 후, 해당 파일을 불러오면 된다.
Scene Builder에서 위와 같이 Button, Label 추가 후, 각각의 속성을 설정해준다.
변경된 내용을 저장한다.
넷빈즈에서 HelloFXML.fxml 파일의 코드를 열어보면 처음 생성한 파일과는 다르게 Button, Label 코드가 추가된것을 확인 할 수 있다.
Make Controller를 실행하여, 컨트롤러 클래스에도 fxml의 수정된 내용을 자동으로 반영하도록 한다. 그러면 아래와 같이 자동으로 코드가 변경된것을 확인 할 수 있다.
package hellofx;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
public class HelloFXController implements Initializable {
@FXML
private Label theLabel;
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
@FXML
private void handleButton(ActionEvent event) {
}
}
handleButton 메소드를 버튼 클릭하면, 라벨의 메세지가 출력하도록 코드를 수정한다.
@FXML
private void handleButton(ActionEvent event) {
theLabel.setText("Hello world!");
}
최종적으로 메인 클래스인 HelloFX.class 코드를 아래와 같이 수정하도록 한다.
package hellofx;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class HelloFX extends Application{
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("HelloFXML.fxml"));
Scene scene = new Scene(root);
stage.setTitle("hello world");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Run를 클릭하여 실행해본다.
버튼을 클릭하면, 아래의 라벨에 메세지 Hello world!가 나오는것을 확인 할 수 있다.
'Java | JavaFX' 카테고리의 다른 글
개발을 편의를 위해 설치해야 하는 유틸 프로그램 (0) | 2019.12.25 |
---|---|
Scene Builder에 라이브러리 추가 하는 방법(JFoeniX, FontAwesomeFX) (1) | 2019.12.25 |
JavaFX 개발 환경 설정(넷빈즈 8.2, 오라클 JDK 1.8, Scene Builder) (0) | 2019.12.25 |
JavaFX 폰트 적용하기 (0) | 2019.12.25 |
JavaFX 애플리케이션(프로그램) 아이콘 설정하기 (0) | 2019.12.25 |