본문 바로가기

언어공부/Java

자바 JAVA FX 개요 및 JAVA FX 이클립스 연동하는 법 및 JAVA FX 레이아웃

자바 JAVA FX에 대해서 알아보자.

JAVA FX

JAVA FX는 사용자 애플리케이션을 개발하기 위한 그래픽과 미디어의 패키지를 말한다. JAVA FX는 자바 7버전부터 JDK에 포함되어 있기 때문에 별도의 SDK설치 필요 없이도 바로 사용할 수 있다. JAVA FX는 스윙보다 더 가벼워지고 더 강력해졌고, 데스크탑 UI 애플리케이션을 개발할 수 있도록 가볍고 풍부한 UI를 제공하고 있다.

 

2007년에 JAVA FX1.0이 나왔는데 JAVA FX 스크립트 언어로 개발된 프로그램을 자바가상머신에서 실행되는 구조로 되어있다. 애니메이션과 시각적인 효과를 내는데 최적화 되었지만, 프로그래머들이 새로운 언어를 또 익혀야 하기 때문에 멀리해 2011년에 자바 언어외에 별도의 언어가 필요없는 JAVA FX2.0을 발표했다. 자바 7업데이트 6버전부터 포함시켰다.

 

자바8에서는 JAVA FX8로 명칭을 변경했다. JAVA FX는 화면 레이아웃과 스타일, 프로그램 로직을 분리할 수 있기 때문에 디자이너와 프로그래머들이 협력해서 JAVA FX 애플리케이션을 개발할 수 있는 구조를 가지고 있다. 자바 코드와 분리해서 CSS로 외관을 작성할 수 있기 때문에 디자이너가 CSS로 작업할 동안 프로그래머들은 로직에 더 많은 시간을 할당할 수 있다. 자바코드에 서 레이아웃(UI) 과 로직을 분리하고 싶다면 레이아웃은  FXML파일로 작성하고, 로직은 자바코드로 작성하면 된다.

 

JAVAFX 이클립스 연동하는 법

JDK 1.7버전 이후(현재 1.8xx)는 이클립스에 JAVA FX가 포함되어 배포되고 있다. 여기서 2020년 6월에 해당되는 이클립스를 설치를 해야한다. 오라클 유료화 정책으로 인해 별도 플러그인과 sdk를 설치해야 되기 때문이다.

 

1. JDK와 이클립스를 설치한다. (2020년 6월 이클립스 권장)

 

2. 프로젝트 속성 (프로젝트 선택 후에 우클릭-속성 혹은 alt+enter)에서 Java Build Path-Libraries-Add External JARs를 선택후 JAVA FX라이브러리 jfxrt.jar를 추가한다.

 

 

3. jfxrt.jar를 추가한 뒤 Order and Export 탭에서 jfxrt.jar의 우선순위를 최상단으로 올려준다.

 

 

ex) JAVAFX 기본 레이아웃

 

실행화면

 

JAVAFX 레이아웃 만드는 2가지 방법

1. 자바 코드로 작성하는 프로그램적 레이아웃 방법이다. 레이아웃이 복잡해 지면 프로그램적 방법은 코드가 복잡해져 난해한 프로그램이 될 확률이 높다. 모든 것을 개발자가 직접 작성해야 하므로 디자이너와 협력해서 개발하는 것도 어렵다. 개발이 완료 된 후 간단한 레이아웃 변경이나 스타일 변경이 필요하면 자바 소스를 수정하고 재 컴파일을 해야한다.

ex)

 

실행화면

 

2. FXML로 작성하는 레이아웃 방법이다. FXML은 XML 기반의 언어로 UI 레이아웃을 자바코드에서 분리해서 태그로 작성한다. FXML 태그로 레이아웃을 정의하기 때문에 태그에 익숙한 디자이너와 협업이 가능하다. 또한 개발이 완료 된 후 간단한 레이아웃 변경도 쉽게 할 수 있다. 

ex)

자바에서 xml파일을 불러온다.

 

xml파일을 생성하려면 패키지 오른쪽 클릭-new-other로 들어가서 검색해야한다.

 

XML 파일. 태그로 작성한다.

 

Fx_03.java 실행화면