Java: Kiến trúc của JavaFX

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

JavaFX cung cấp một API hoàn chỉnh với một tập hợp các lớp và giao diện phong phú để xây dựng các ứng dụng GUI với đồ họa phong phú. Các gói quan trọng của API này là:

  • javafx.animation - Chứa các lớp để thêm các hoạt ảnh dựa trên quá trình chuyển đổi như tô, làm mờ, xoay, chia tỷ lệ và dịch vào các nút JavaFX.

  • javafx.application - Chứa một tập hợp các lớp chịu trách nhiệm về vòng đời ứng dụng JavaFX.

  • javafx.css - Chứa các lớp để thêm kiểu (styling) giống như CSS vào các ứng dụng JavaFX GUI.

  • javafx.event - Chứa các lớp và giao diện để cung cấp và xử lý các sự kiện JavaFX.

  • javafx.geometry - Chứa các lớp để định nghĩa các đối tượng 2D và thực hiện các thao tác trên chúng.

  • javafx.stage - Gói này chứa các lớp vùng chứa cấp cao nhất cho ứng dụng JavaFX.

  • javafx.scene - Gói này cung cấp các lớp và giao diện để hỗ trợ đồ thị cảnh. Ngoài ra, nó cũng cung cấp các gói phụ như canvas, biểu đồ, điều khiển, hiệu ứng, hình ảnh, đầu vào, bố cục, phương tiện, sơn, hình dạng, văn bản, biến đổi, web, v.v. Có một số thành phần hỗ trợ API phong phú này của JavaFX .

Hình minh họa sau đây cho thấy kiến ​​trúc của JavaFX API. Tại đây bạn có thể thấy các thành phần hỗ trợ JavaFX API.

Kiến trúc của API JavaFX

Scene Graph (Đồ thị cảnh)

Trong JavaFX, các Ứng dụng GUI được mã hóa bằng cách sử dụng Đồ thị cảnh. Đồ thị cảnh là điểm bắt đầu của việc xây dựng Ứng dụng GUI. Nó chứa các nguyên thủy của ứng dụng (GUI) được gọi là các nút.

Một nút là một đối tượng trực quan/đồ họa và nó có thể bao gồm:

  • Các đối tượng hình học (Đồ họa) - (2D và 3D) như hình tròn, hình chữ nhật, đa giác, v.v.

  • Các điều khiển giao diện người dùng - chẳng hạn như Nút, Hộp kiểm, Hộp lựa chọn, Vùng văn bản, v.v.

  • Vùng chứa - (ngăn bố cục) chẳng hạn như Border Pane, Grid Pane, Flow Pane, v.v.

  • Các phần tử media - chẳng hạn như các đối tượng âm thanh, video và hình ảnh.

Nói chung, một tập hợp các nút tạo nên một biểu đồ cảnh. Tất cả các nút này được sắp xếp theo thứ tự phân cấp như hình bên dưới.

Đồ thị cảnh

Mỗi nút trong đồ thị cảnh có một nút cha duy nhất và nút không chứa bất kỳ nút cha nào được gọi là nút gốc.

Theo cách tương tự, mọi nút đều có một hoặc nhiều nút con, và nút không có nút con được gọi là nút lá; một nút có con được gọi là nút nhánh.

Một đối tượng nút chỉ có thể được thêm vào biểu đồ cảnh một lần. Các nút của biểu đồ cảnh có thể có Hiệu ứng, Độ mờ, Biến đổi, Trình xử lý sự kiện, Trạng thái ứng dụng cụ thể.

Prism (Lăng kính)

Prism là một đường ống đồ họa tăng tốc phần cứng hiệu suất cao được sử dụng để kết xuất đồ họa trong JavaFX. Nó có thể hiển thị cả đồ họa 2-D và 3-D.

Để kết xuất đồ họa, Prism sử dụng:

  • DirectX 9 trên Windows XP và Vista.
  • DirectX 11 trên Windows 7.
  • OpenGL trên Mac và Linux, Hệ thống nhúng.

Trong trường hợp phần cứng hỗ trợ đồ họa trên hệ thống không đủ, thì Prism sử dụng đường dẫn kết xuất phần mềm để xử lý đồ họa.

Khi được sử dụng với Card đồ họa hoặc GPU được hỗ trợ, nó cung cấp đồ họa mượt mà hơn. Chỉ trong trường hợp hệ thống không hỗ trợ cạc đồ họa, thì Prism sẽ mặc định đặt ngăn xếp kết xuất phần mềm (một trong hai cách trên).

GWT (Glass Windowing Toolkit)

Như tên cho thấy, GWT cung cấp các dịch vụ để quản lý Windows, Timers, Surfaces và Event Queues. GWT kết nối Nền tảng JavaFX với Hệ điều hành gốc.

Quancom Toolkit

Nó là sự trừu tượng so với các thành phần cấp thấp của Prism, Glass, Media Engine và Web Engine. Nó liên kết Prism và GWT với nhau và cung cấp chúng cho JavaFX.

WebView

Sử dụng JavaFX, bạn cũng có thể nhúng nội dung HTML vào biểu đồ cảnh. WebView là thành phần của JavaFX được sử dụng để xử lý nội dung này. Nó sử dụng một công nghệ có tên là Web Kit, là một công cụ trình duyệt web mã nguồn mở nội bộ. Thành phần này hỗ trợ các công nghệ web khác nhau như HTML5, CSS3, JavaScript, DOM và SVG.

Sử dụng WebView, bạn có thể:

  • Hiển thị nội dung HTML từ URL cục bộ hoặc từ xa.
  • Hỗ trợ lịch sử và cung cấp điều hướng Back và Forward.
  • Tải lại nội dung.
  • Áp dụng các hiệu ứng cho thành phần web.
  • Chỉnh sửa nội dung HTML.
  • Thực thi các lệnh JavaScript.
  • Xử lý các sự kiện.

Nói chung, sử dụng WebView, bạn có thể kiểm soát nội dung web từ Java.

Media Engine

Công cụ phương tiện JavaFX dựa trên một công cụ mã nguồn mở được gọi là Streamer. Công cụ phương tiện này hỗ trợ phát lại nội dung video và âm thanh.

Công cụ phương tiện JavaFX cung cấp hỗ trợ âm thanh cho các định dạng tệp sau:

Âm thanh
  • MP3
  • WAV
  • AIFF
Video
  • FLV

Gói javafx.scene.media chứa các lớp và giao diện để cung cấp chức năng phương tiện trong JavaFX. Nó được cung cấp dưới dạng ba thành phần, đó là:

  • Media Object - Đối tượng này đại diện cho một file media.
  • Media Player - Để phát nội dung media.
  • Media View - Để hiển thị media.
» Tiếp: Cấu trúc ứng dụng JavaFX và ví dụ
« Trước: Cài đặt JavaFX
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!