javafx 튜토리얼
javafx 시작하기
수색…
비고
JavaFX는 다양한 장치에서 실행될 수있는 RIA (Rich Internet Application)뿐 아니라 데스크톱 응용 프로그램을 만들고 제공하기위한 소프트웨어 플랫폼입니다. JavaFX는 Java SE 용 표준 GUI 라이브러리 인 Swing을 대체하기위한 것입니다.
IT를 사용하면 개발자가 리치 클라이언트 응용 프로그램을 설계, 작성, 테스트, 디버그 및 배포 할 수 있습니다.
스타일링을 위해 CSS (Cascading Style Sheets)를 사용하여 JavaFX 응용 프로그램의 모양을 사용자 정의 할 수 있습니다 ( JavaFX : CSS 참조). (F) XML 파일을 사용하여 응용 프로그램을 쉽게 작성하거나 개발할 수 있도록 구조를 객체화 할 수 있습니다 ( FXML 및 컨트롤러 참조) . Scene Builder는 코드 작성없이 UI 용 fxml 파일을 만들 수있는 비주얼 편집기입니다.
버전
번역 | 출시일 |
---|---|
JavaFX 2 | 2011-10-10 |
JavaFX 8 | 2014-03-18 |
설치 또는 설정
JavaFX API는 Java SE Runtime Environment (JRE) 및 Java Development Kit (JDK)의 완전 통합 기능으로 사용할 수 있습니다. JDK는 모든 주요 데스크톱 플랫폼 (Windows, Mac OS X 및 Linux)에서 사용할 수 있으므로 JDK 7 이상으로 컴파일 된 JavaFX 응용 프로그램은 모든 주요 데스크톱 플랫폼에서도 실행됩니다. ARM 플랫폼에 대한 지원은 JavaFX 8에서도 사용할 수 있습니다. ARM 용 JDK에는 JavaFX의 기본, 그래픽 및 컨트롤 구성 요소가 포함되어 있습니다.
JavaFX를 설치하려면 선택한 Java Runtime 환경 및 Java Development Kit 버전을 설치하십시오.
JavaFX에서 제공하는 기능은 다음과 같습니다.
- Java API.
- FXML 및 씬 빌더.
- WebView.
- 스윙 상호 운용성.
- 붙박이 UI 통제 및 CSS.
- 모데나 테마.
- 3D 그래픽 기능.
- Canvas API.
- 인쇄 API.
- 서식있는 텍스트 지원.
- 멀티 터치 지원.
- Hi-DPI 지원.
- 하드웨어 가속 그래픽 파이프 라인
- 고성능 미디어 엔진.
- 자체 포함 된 응용 프로그램 배포 모델.
Hello World 프로그램
다음 코드는 클릭시 콘솔에 String
을 인쇄하는 단일 Button
을 포함하는 간단한 사용자 인터페이스를 만듭니다.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) {
// create a button with specified text
Button button = new Button("Say 'Hello World'");
// set a handler that is executed when the user activates the button
// e.g. by clicking it or pressing enter while it's focused
button.setOnAction(e -> {
//Open information dialog that says hello
Alert alert = new Alert(AlertType.INFORMATION, "Hello World!?");
alert.showAndWait();
});
// the root of the scene shown in the main window
StackPane root = new StackPane();
// add button as child of the root
root.getChildren().add(button);
// create a scene specifying the root and the size
Scene scene = new Scene(root, 500, 300);
// add scene to the stage
primaryStage.setScene(scene);
// make the stage visible
primaryStage.show();
}
public static void main(String[] args) {
// launch the HelloWorld application.
// Since this method is a member of the HelloWorld class the first
// parameter is not required
Application.launch(HelloWorld.class, args);
}
}
Application
클래스는 모든 JavaFX 응용 프로그램의 진입 점입니다. 하나의 Application
만 실행할 수 있으며 이는 다음을 사용하여 수행됩니다.
Application.launch(HelloWorld.class, args);
그러면 매개 변수로 전달 된 Application
클래스의 인스턴스가 만들어지고 JavaFX 플랫폼이 시작됩니다.
다음은 프로그래머에게 중요합니다.
- 첫 번째
launch
은Application
클래스의 새 인스턴스를 만듭니다 (이 경우HelloWorld
). 따라서Application
클래스에는 인수가없는 생성자가 필요합니다. - 생성 된
Application
인스턴스에서init()
이 호출됩니다. 이 경우Application
의 기본 구현은 아무 작업도 수행하지 않습니다. -
start
가Appication
인스턴스에 대해 호출되고 primaryStage
(= window)가 메서드에 전달됩니다. 이 메소드는 JavaFX 응용 프로그램 스레드 (플랫폼 스레드)에서 자동으로 호출됩니다. - 플랫폼이 종료 될 때까지 응용 프로그램이 실행됩니다. 이 경우 마지막 창을 닫을 때이 작업이 수행됩니다.
-
stop
메소드는Application
인스턴스에서 호출됩니다. 이 경우Application
의 구현은 아무 것도하지 않습니다. 이 메소드는 JavaFX 응용 프로그램 스레드 (플랫폼 스레드)에서 자동으로 호출됩니다.
start
메소드에서 씬 그래프가 생성됩니다. 여기에는 Button
과 StackPane
이라는 두 개의 Node
.
Button
은 UI의 Button
나타내며 StackPane
은 배치를 결정하는 Button
의 컨테이너입니다.
이러한 Node
를 표시하기위한 Scene
이 생성됩니다. 마지막으로 Scene
은 UI 전체를 보여주는 윈도우 인 Stage
추가됩니다.