JavaFX 자습서 : 응용 프로그램을 만드는 방법?



이 JavaFX 자습서는 JavaFX 플랫폼, 기능, 아키텍처에 대한 간략한 소개를 제공하며 첫 번째 JavaFX 응용 프로그램을 만드는 데 도움이됩니다.

JavaFX는 다양한 장치에서 실행할 수있는 RIA (Rich Internet Application)를 만들기위한 Java 플랫폼입니다. 대체하기위한 것입니다. 자바 스윙 GUI 프레임 워크로 응용 프로그램. 또한 Swing보다 더 많은 기능을 제공합니다. JavaFX는 다음을위한 차세대 GUI 툴킷입니다. . 흥미로운가요? 이 JavaFX 자습서에서는 개념을 자세히 살펴 보겠습니다.

JavaFX 란 무엇입니까?

JavaFX는 다양한 장치에서 실행할 수있는 크로스 플랫폼 GUI 응용 프로그램 및 RIA (풍부한 인터넷 응용 프로그램)를 설계, 생성, 테스트 및 배포하는 데 사용되는 Java 라이브러리입니다.





  • JavaFX를 만든 한 가지 인센티브는 Swing을 대체하는 것이 었습니다. 또한 JavaFX는 Swing보다 디자인이 더 일관 적입니다.
  • 더 많은 기능이 있고 더 현대적이므로 레이아웃 파일 (XML)을 사용하여 GUI를 디자인하고 스타일을 지정할 수 있습니다. .
  • JavaFX는 또한 2D + 3D 그래픽, 차트, 오디오, 비디오 및 임베디드 웹 애플리케이션을 하나의 일관된 GUI 툴킷으로 통합합니다.

노트 : 리치 인터넷 애플리케이션은 데스크톱 애플리케이션과 유사한 기능과 경험을 제공하는 웹 애플리케이션입니다. 사용자에게 일반 웹 응용 프로그램과 비교할 때 더 나은 시각적 경험을 제공합니다.

이제 JavaFX가 정확히 무엇인지 알았으므로이 JavaFX 자습서의 다음 부분에서 아키텍처 부분을 확인하십시오.



JavaFX 아키텍처

JavaFX에는 서로 상호 연결된 다양한 기본 제공 구성 요소가 있습니다. 여기에는 여러 플랫폼에서 일관되게 실행되는 풍부한 인터넷 응용 프로그램을 개발하기에 충분한 풍부한 API 세트가 포함되어 있습니다. 다음 그림은 JavaFX API의 아키텍처를 보여줍니다.

아키텍처-JavaFX 튜토리얼-Edureka

이러한 각 구성 요소를 자세히 살펴 보겠습니다.



장면 그래프

Scene Graph는 JavaFX 응용 프로그램을 구성하는 시작점입니다. 계층 적 응용 프로그램 사용자 인터페이스의 모든 시각적 요소를 나타내는 노드 수 장면 그래프의 단일 요소를 노드라고합니다. 각 노드는 분기 노드 또는 리프 노드입니다. 분기 노드에는 자식과 같은 다른 노드가 포함될 수 있지만 리프 노드에는 다른 노드가 포함되지 않습니다. 트리의 첫 번째 노드는 루트 노드. 루트 노드에는 부모가 없습니다.

다양한 수업이 있습니다. javafx.scene 노드에서 일부 변환을 생성, 수정 및 적용하는 데 사용되는 패키지입니다.

그래픽 엔진

JavaFX 그래픽 엔진은 장면 그래프 구성 요소에 그래픽 지원을 제공합니다. 일반적으로 2D 및 3D 그래픽을 모두 지원합니다. 또한 시스템에있는 그래픽 하드웨어가 하드웨어 가속 렌더링을 지원할 수없는 경우 소프트웨어 렌더링을 제공합니다.

JavaFX의 두 그래픽 가속 파이프 라인은 다음과 같습니다.

  • 프리즘 – 그것2D 및 3D 그래픽을 모두 렌더링 할 수있는 하드웨어 가속 고성능 그래픽입니다.
  • Quantum Toolkit –프리즘과 유리 창 도구 키트를 함께 묶는 데 사용되며 스택의 위 레이어에 사용할 수 있습니다.

Glass Windowing 툴킷

JavaFX 플랫폼을 기본 운영 체제에 연결하는 플랫폼 종속 계층입니다. 창, 이벤트, 타이머 및 표면 관리와 같은 기본 운영 체제 서비스를 제공합니다.

미디어 및 웹 엔진

  • 웹 엔진 – IT삽입하는 데 사용되는 웹 브라우저 엔진입니다. JavaFX 장면 그래프에 콘텐츠를 추가합니다.HTML5, CSS, , DOM 및 SVG.
  • 미디어 엔진 – IT데스크톱 창 또는 지원되는 플랫폼의 웹 페이지 내에서 미디어 재생을 가능하게하는 미디어 응용 프로그램을 만드는 도구를 제공합니다. JavaFX 미디어 엔진 오픈 소스 엔진을 기반으로합니다. 사광 . 비디오 및 오디오 콘텐츠의 재생을 지원합니다.

이것들은JavaFX API를 지원하는 구성 요소. 이 JavaFX 자습서의 다음 부분은 JavaFX 응용 프로그램 구조에 대한 것입니다.

해시 맵과 해시 테이블 간의 차이

JavaFX 응용 프로그램 분석

JavaFX 애플리케이션스테이지, 씬 및 노드의 세 가지 주요 구성 요소로 계층 적으로 나뉩니다.

단계

애플리케이션의 기본 컨테이너이자 진입 점입니다. 메인 윈도우를 나타내며 생성 된 스테이지 객체는 스타트() 의 방법 신청 수업.무대에는 두 가지 매개 변수가 있습니다. 폭,신장, 즉 위치를 결정하는.

사용 가능한 5 가지 유형의 스테이지가 있습니다.

  • 훌륭하게 꾸민
  • 장식되지 않음
  • 투명한
  • 통합
  • 유용

당신은 전화해야 보여 주다() 단계의 내용을 표시하는 방법.

장면

그만큼 장면 무대의 시각적 콘텐츠를 담는 컨테이너입니다. 이미지보기, 버튼, 그리드, 텍스트 상자와 같은 UI 요소를 보유합니다. Javafx.scene.Scene 수업패키지의 javafx.scene 장면 개체를 처리하는 모든 방법을 제공합니다.장면을 만들 수 있습니다. 장면 클래스 객체를 생성하고 레이아웃 객체를 Scene 클래스 생성자에 전달합니다.

장면 그래프 및 노드

그것은계층의 최하위 수준. ㅏ 장면 그래프 장면의 내용을 나타내는 나무와 같은 데이터 구조 (계층 적)입니다. 다양한 노드의 모음이라고 생각할 수 있습니다. 원래. ㅏ 마디 장면 그래프의 시각적 / 그래픽 개체입니다.그만큼 마디 패키지 등급 javafx.scene JavaFX의 단일 노드를 나타내며이 클래스는 모든 노드의 수퍼 클래스입니다.

이제 당신은JavaFX 응용 프로그램의 구조에 대해 자세히 살펴보면이 JavaFX 자습서의 예제를 통해 JavaFX 응용 프로그램을 만드는 방법을 알아 보겠습니다.

JavaFX 애플리케이션 생성

J를 수행하는 방법을 확인합시다 avaFX IDE Eclipse에서 프로그래밍. 가장 먼저해야 할 일은 e (fx) 클립 Eclipse IDE 용 플러그인. e (fx) 클립 JavaFX 프로그래밍을 수행하는 데 도움이되는 도구 및 필수 라이브러리 세트입니다.

여기서는 다음을 인쇄하는 간단한 JavaFX 응용 프로그램을 만듭니다. Edureka에 오신 것을 환영합니다! 콘솔에서 스테이지에 표시된 버튼을 클릭합니다.

패키지 애플리케이션 import javafx.application.Application import javafx.event.ActionEvent import javafx.event.EventHandler import javafx.scene.Scene import javafx.scene.control.Button import javafx.scene.layout.StackPane import javafx.stage.Stage 공용 클래스 Main extends Application {@Override public void start (Stage primaryStage) {Button btn = new Button () btn.setText ( 'Say'Welcome to Edureka! '') btn.setOnAction (new EventHandler () {@Override public void handle ( ActionEvent 이벤트) {System.out.println ( 'Welcome to Edureka!')}}) StackPane root = new StackPane () root.getChildren (). add (btn) Scene scene = new Scene (root, 300, 250) primaryStage .setTitle ( 'Hello World!') primaryStage.setScene (scene) primaryStage.show ()} public static void main (String [] args) {launch (args)}}

산출:

Edureka에 오신 것을 환영합니다!

JavaFX 애플리케이션 예제 프로그램 설명

이 예제 프로그램이 간단한 단계에서 어떻게 작동하는지 이해해 보겠습니다.

1 단계: javafx.application.Application을 확장하고 start () 메서드를 재정의합니다.

앞서 논의했듯이 스타트() method는 JavaFX Application의 시작점입니다. 수입 JavaFX.application.Application start () 메서드를 재정의합니다. start () 메서드를 재정의하고 여기에 o를 전달합니다.수업의 비난 javafx.stage.Stage.

@Override public void start (Stage primaryStage)

2 단계: 버튼 만들기

인스턴스화하여 버튼을 만들 수 있습니다. javafx.scene.control.Button 수업. 따라서 관련 클래스를 코드로 가져옵니다. Button 클래스 생성자에 버튼 레이블 텍스트를 전달합니다.

버튼 btn = new Button ()

Step3 : 버튼에 대한 이벤트 만들기

이 예제 응용 프로그램은 버튼의 이벤트에 대한 텍스트를 인쇄합니다. 따라서 버튼에 대한 이벤트를 만들어야합니다. 이를 위해 setOnAction () 버튼을 클릭하고 익명 클래스 이벤트 핸들러를 메서드에 대한 매개 변수로 정의합니다.이 익명 클래스 안에 handle () 메소드를 정의하십시오. handle () 메서드에 대한 코드를 확인하십시오.

btn.setText ( 'Say'Welcome to Edureka! ') btn.setOnAction (new EventHandler () {@Override public void handle (ActionEvent event) {System.out.println ('Welcome to Edureka! ')}

Step4 : 레이아웃을 만들고 버튼을 추가합니다.

JavaFX는 일반적으로 여러 레이아웃을 제공합니다. 위젯을 올바르게 시각화하기 위해 그중 하나를 구현하십시오. 이 레이아웃에 버튼, 텍스트 등과 같은 다른 노드를 추가해야합니다.

StackPane 루트 = new StackPane () root.getChildren (). add (btn)

Step5 : 장면 만들기

장면은 JavaFx 응용 프로그램 구조의 계층 구조에서 더 높은 수준에 있습니다. 따라서 장면에 레이아웃을 추가해야합니다. 인스턴스화를 만들 수 있습니다. javafx.scene.Scene 씬 클래스 생성자에 레이아웃 객체를 전달합니다.

장면 장면 = 새 장면 (루트, 300, 250)

Step5 : 무대 준비

스테이지는 애플리케이션의 기본 컨테이너이자 진입 점입니다. 제공하는 사용 방법 javafx.stage.Stage 클래스를 사용하여 스테이지에 대한 일부 속성을 설정합니다.show () 메서드를 사용하여 스테이지를 표시합니다. 여기에 코드가 있습니다.

primaryStage.setTitle ( 'Hello World!') primaryStage.setScene (scene) primaryStage.show ()

Step6 : 주요 방법 만들기

마지막 단계에서 응용 프로그램을 시작할 기본 메서드를 만듭니다. 즉, launch () 메서드를 호출하고 여기에 명령 줄 인수 (args)를 전달합니다.

public static void main (String [] args) {launch (args)}

Step7 : 출력을 보려면 애플리케이션을 실행하십시오.

더 흥미롭게 만들기 위해 HTML 및 CSS와 같은 사용자 정의 디자인을 적용하여 JavaFX 응용 프로그램의 UI를 변경할 수 있습니다.

이것으로 우리는 이것의 끝으로JavaFX 튜토리얼. JavaFX 애플리케이션의 내부 구조를 살펴보고 아키텍처, 라이프 사이클 및 구성 요소의 핵심 기능을 배웠습니다. 또한 간단한 GUI 애플리케이션을 만드는 방법도 확인했습니다.

가능한 한 많이 연습하고 경험을 되 돌리십시오.

확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 당신의 여정의 모든 단계에서 당신을 돕기 위해 여기에 있습니다.이 자바 인터뷰 질문 외에 우리는 자바 개발자가 되고자하는 학생과 전문가를 위해 고안된 커리큘럼을 제안합니다.

자바의 문자열 기본값

질문이 있으십니까? 이 JavaFX 자습서의 주석 섹션에서 언급하십시오. 가능한 한 빨리 연락 드리겠습니다.