Hướng dẫn JavaFX: Làm thế nào để tạo một ứng dụng?



Hướng dẫn JavaFX này giới thiệu ngắn gọn về nền tảng JavaFX, các tính năng, kiến ​​trúc của nó và sẽ giúp bạn tạo ứng dụng JavaFX đầu tiên của mình

JavaFX là một nền tảng Java để tạo ra các ứng dụng internet phong phú (RIA) có thể chạy trên nhiều loại thiết bị. Nó được thiết kế để thay thế Swing trong Java ứng dụng như một khung GUI. Ngoài ra, nó cung cấp nhiều chức năng hơn Swing. JavaFX là bộ công cụ GUI thế hệ tiếp theo cho . Nghe có vẻ thú vị? Trong hướng dẫn JavaFX này, hãy cùng khám phá khái niệm một cách chi tiết.

JavaFX là gì?

JavaFX là một thư viện Java được sử dụng để thiết kế, tạo, thử nghiệm và triển khai các ứng dụng GUI đa nền tảng và các ứng dụng internet phong phú (RIA) có thể chạy trên nhiều loại thiết bị.





  • Một động lực để tạo JavaFX là thay thế Swing. Hơn nữa, JavaFX nhất quán trong thiết kế của nó hơn Swing.
  • Nó có nhiều tính năng hơn và cũng hiện đại hơn, cho phép bạn thiết kế GUI bằng cách sử dụng các tệp bố cục (XML) và tạo kiểu cho chúng .
  • JavaFX cũng tích hợp đồ họa 2D + 3D, biểu đồ, âm thanh, video và các ứng dụng web nhúng vào một bộ công cụ GUI nhất quán.

Ghi chú: Ứng dụng Internet phong phú là những ứng dụng web cung cấp các tính năng và trải nghiệm tương tự như các ứng dụng dành cho máy tính để bàn. Chúng mang lại trải nghiệm hình ảnh tốt hơn khi so sánh với các ứng dụng web thông thường cho người dùng.

Bây giờ bạn đã biết chính xác JavaFX là gì, hãy xem phần kiến ​​trúc của nó trong phần tiếp theo của hướng dẫn JavaFX này.



Kiến trúc JavaFX

JavaFX có các thành phần tích hợp khác nhau được kết nối với nhau. Nó chứa một bộ API phong phú là quá đủ để phát triển các ứng dụng internet phong phú chạy nhất quán trên nhiều nền tảng. Hình minh họa sau đây cho thấy kiến ​​trúc của API JavaFX.

Kiến trúc - Hướng dẫn JavaFX - Edureka

Hãy cùng khám phá chi tiết từng thành phần này.



Đồ thị cảnh

Scene Graph là điểm bắt đầu của việc xây dựng một ứng dụng JavaFX. Nó là một thứ bậc các nút đại diện cho tất cả các yếu tố hình ảnh của giao diện người dùng của ứng dụng. Một phần tử duy nhất trong đồ thị cảnh được gọi là một nút. Mỗi nút có thể là nút nhánh hoặc nút lá. Các nút nhánh có thể chứa các nút khác, giống như nút con của chúng nhưng các nút Lá không chứa các nút khác. Nút đầu tiên trong cây được gọi là Nút gốc. Một nút gốc không có cha mẹ.

Có nhiều lớp khác nhau hiện diện trong javafx.scene gói được sử dụng để tạo, sửa đổi và áp dụng một số phép biến đổi trên nút.

Công cụ đồ họa

Công cụ đồ họa JavaFX cung cấp hỗ trợ đồ họa cho thành phần đồ thị cảnh. Nó thường hỗ trợ cả đồ họa 2D và 3D. Đồng thời cung cấp kết xuất phần mềm khi phần cứng đồ họa có trên hệ thống không thể hỗ trợ kết xuất tăng tốc phần cứng.

Hai đường ống tăng tốc đồ họa trong JavaFX là:

  • Lăng kính - Nólà một phần cứng đồ họa hiệu suất cao được tăng tốc có thể hiển thị cả đồ họa 2D và 3D.
  • Bộ công cụ lượng tử -Nó được sử dụng để liên kết lăng kính và bộ công cụ cửa sổ kính với nhau và làm cho chúng có sẵn cho các lớp trên trong ngăn xếp.

Bộ công cụ tạo gió bằng kính

Nó là một lớp phụ thuộc vào nền tảng kết nối nền tảng JavaFX với hệ điều hành gốc. Nó cung cấp các dịch vụ hệ điều hành gốc như quản lý cửa sổ, sự kiện, bộ định thời và bề mặt.

cách sử dụng spyder python

Phương tiện và Công cụ Web

  • Công cụ web - Nólà một công cụ trình duyệt web được sử dụng để nhúng nội dung vào biểu đồ cảnh JavaFX.Nó hỗ trợ HTML5, CSS, , DOM và SVG.
  • Media Engine - Nócung cấp các công cụ để tạo các ứng dụng phương tiện cho phép phát lại phương tiện trong cửa sổ màn hình nền hoặc trong trang web trên các nền tảng được hỗ trợ. JavaFX công cụ truyền thông dựa trên một công cụ mã nguồn mở được gọi là Người phát trực tiếp . Nó hỗ trợ phát lại nội dung video và âm thanh.

Đây là nhữngcác thành phần hỗ trợ JavaFX API. Phần tiếp theo của hướng dẫn JavaFX này là về cấu trúc ứng dụng JavaFX.

Giải phẫu một ứng dụng JavaFX

Ứng dụng JavaFXđược phân chia theo thứ bậc thành ba thành phần chính: Sân khấu, Cảnh và Nút.

Sân khấu

Nó là vùng chứa chính và là điểm vào của ứng dụng. Nó đại diện cho cửa sổ chính và đối tượng sân khấu đã tạo được chuyển như một đối số của khởi đầu() phương pháp của Ứng dụng lớp học.Một giai đoạn có hai tham số, Chiều rộng,Chiều cao, xác định vị trí cụ thể là.

Có năm loại giai đoạn có sẵn và trừ

  • Trang trí
  • Chưa trang trí
  • Trong suốt
  • Thống nhât
  • Tiện ích

Bạn phải gọi chỉ() phương pháp hiển thị nội dung của một giai đoạn.

Bối cảnh

Các bối cảnh là nơi chứa nội dung trực quan của sân khấu. Nó chứa các phần tử giao diện người dùng, chẳng hạn như Chế độ xem hình ảnh, Nút, Lưới, Hộp văn bản. Javafx.scene.Scene lớp họccủa gói javafx.scene cung cấp tất cả các phương pháp để xử lý một đối tượng cảnh.Bạn có thể tạo một cảnh bằng cách tạo Bối cảnh đối tượng lớp và truyền đối tượng bố trí vào phương thức khởi tạo lớp Scene.

Đồ thị cảnh & nút

Nó tồn tại ởcấp thấp nhất của hệ thống phân cấp. A đồ thị cảnh là một cấu trúc dữ liệu dạng cây (phân cấp) đại diện cho nội dung của một cảnh. Bạn có thể coi nó là tập hợp của nhiều nút khác nhau. Về cơ bản. a nút là một đối tượng trực quan / đồ họa của đồ thị cảnh.Các Nút Loại của gói javafx.scene đại diện cho một nút duy nhất trong JavaFX và lớp này là lớp cha của tất cả các nút.

Bây giờ bạn đã biếtchi tiết cấu trúc của ứng dụng JavaFX, hãy cùng tìm hiểu cách tạo ứng dụng JavaFX với ví dụ trong hướng dẫn JavaFX này.

cấu trúc của một chương trình java

Tạo ứng dụng JavaFX

Hãy xem cách thực hiện J avaFX lập trình trên IDE Eclipse. Điều đầu tiên bạn cần làm là cài đặt e (fx) clipse plugin cho Eclipse IDE. e (fx) clipse là một bộ công cụ và thư viện cần thiết giúp bạn thực hiện lập trình JavaFX.

Ở đây, chúng tôi đang tạo một ứng dụng JavaFX đơn giản để in Chào mừng đến với Edureka! trên bảng điều khiển bằng cách nhấp vào nút hiển thị trên sân khấu.

gói ứng dụng nhập 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 public class Ứng dụng mở rộng chính {@Override public void start (Stage primaryStage) {Button btn = new Button () btn.setText ('Nói' Chào mừng bạn đến với Edureka! '') Btn.setOnAction (new EventHandler () {@Override public void handle ( Sự kiện ActionEvent) {System.out.println ('Chào mừng bạn đến với 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) {khởi chạy (args)}}

Đầu ra:

Chào mừng đến với Edureka!

Giải thích chương trình ví dụ ứng dụng JavaFX

Hãy cố gắng hiểu cách chương trình ví dụ này hoạt động theo các bước đơn giản.

Bước 1: Mở rộng javafx.application.Application và ghi đè phương thức start ()

Như chúng ta đã thảo luận trước đó, khởi đầu() phương thức là điểm khởi đầu của Ứng dụng JavaFX. Nhập khẩu JavaFX.application.Application để ghi đè phương thức start (). Ghi đè phương thức start () và chuyển cho nó một chữ object của lớp javafx.stage.Stage.

@Override public void start (Stage primaryStage)

Bước 2: Tạo một nút

Bạn có thể tạo một nút bằng cách khởi tạo javafx.scene.control.Button lớp học. Do đó, hãy nhập lớp có liên quan vào mã. Truyền văn bản nhãn nút trong hàm tạo lớp Nút.

Nút btn = Nút mới ()

Bước 3: Tạo sự kiện cho nút

Ứng dụng mẫu này in văn bản cho một sự kiện trên nút. Vì vậy, bạn cần tạo một sự kiện cho nút. Vì mục đích này, hãy gọi setOnAction () trên nút và xác định một Event Handler lớp ẩn danh làm tham số cho phương thức.Bên trong lớp ẩn danh này, xác định một phương thức xử lý (). Kiểm tra mã cho phương thức handle ().

btn.setText ('Nói' Chào mừng đến với Edureka! '') btn.setOnAction (EventHandler mới () {@Override public void handle (ActionEvent event) {System.out.println ('Chào mừng đến với Edureka!')}

Bước 4: Tạo bố cục và thêm nút vào đó

JavaFX thường cung cấp một số bố cục. Triển khai một trong số chúng để hiển thị đúng các vật dụng. Bạn cần thêm các nút khác như nút, văn bản, v.v. vào bố cục này.

chương trình chuỗi fibonacci trong java
StackPane root = new StackPane () root.getChildren (). Add (btn)

Bước 5: Tạo cảnh

Cảnh ở cấp cao hơn trong cấu trúc phân cấp của cấu trúc ứng dụng JavaFx. Vì vậy, bạn cần thêm bố cục của mình vào cảnh. Bạn có thể tạo nó ngay lập tức javafx.scene.Scene lớp và truyền đối tượng bố trí cho hàm tạo lớp cảnh.

Cảnh cảnh = Cảnh mới (gốc, 300, 250)

Bước 5: Chuẩn bị sân khấu

Giai đoạn này là vùng chứa chính và là điểm vào của ứng dụng. Sử dụng các phương pháp do javafx.stage.Stage lớp để thiết lập một số thuộc tính cho sân khấu.Sử dụng phương thức show () để hiển thị sân khấu. Đây là mã cho điều đó.

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

Bước 6: Tạo phương thức chính

Trong bước cuối cùng, hãy tạo một phương thức chính, trong đó bạn sẽ khởi chạy ứng dụng, tức là gọi phương thức khởi chạy () và chuyển các đối số dòng lệnh (args) cho nó.

public static void main (String [] args) {khởi chạy (args)}

Bước 7: Chạy ứng dụng để xem kết quả.

Để làm cho nó thú vị hơn, bạn có thể thay đổi giao diện người dùng của ứng dụng JavaFX bằng cách áp dụng thiết kế tùy chỉnh cho nó như HTML và CSS.

Điều này đưa chúng ta đến phần cuối của điều nàyHướng dẫn JavaFX. Chúng tôi đã xem qua cấu trúc bên trong của ứng dụng JavaFX và tìm hiểu các khả năng chính của kiến ​​trúc, vòng đời và các thành phần của nó. Chúng tôi cũng đã kiểm tra cách tạo một ứng dụng GUI đơn giản.

Đảm bảo rằng bạn luyện tập nhiều nhất có thể và hoàn nguyên trải nghiệm của mình.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trong hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi còn đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và chuyên gia muốn trở thành một Nhà phát triển Java.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của Hướng dẫn JavaFX này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.