Nó cung ể thiết kế ện của JavaFX c p trình biên d ch, g l i, thi t k giao ấp một môi trường ịch, gỡ lỗi, thiết kế giao ỡ lỗi, thiết kế giao ỗi, thiết kế giao ết lập môi trường JavaFX ết
Trang 2Thành viên nhóm
Trang 3Giới thiệu chung
Short
Description
Explore the power of JavaFX, a robust framework that empowers developers to craft intuitive and visually appealing user interfaces (GUI) using the Java programming language This presentation delves into the key features and functionalities of JavaFX, illustrating how it seamlessly integrates with Java to streamline UI development and enhance user experiences across various platforms
Trang 401 – Giới thiệu JavaFX
02 – Các tính năng
JavaFX là gì và ngu n g c c a ồn gốc của ốc của ủa
JavafX
vi n c a JavaFX ện của JavaFX ủa
Nội dung chính
Cách thi t l p môi tr ết lập môi trường JavaFX ập môi trường JavaFX ư ờng JavaFX ng JavaFX
d ng liên quan và cách th c thi ụng liên quan và cách thực thi ực thi
ch ư ơng trình giao diện người dùng ng trình giao di n ng ện của JavaFX ư ờng JavaFX i dùng
Trang 5Khái niệm
JavaFX
JavaFX là thư viện dùng
để phát triển và phân phối các ứng dụng trong
Các ứng dụng mà thư viện này phân phối được chạy trên máy tính hoặc nhiều thiết bị khác nhau (phổ biến là ứng dụng
Rich Internet Applications – RIA).
Trang 6Khái niệm
JavaFX
- Hiểu một cách cụ thể, JavaFX là
một framework bao gồm các gói đồ họa, công cụ hỗ trợ cho người lập trình có thể tạo, kiểm tra, gỡ lỗi và triển khai ứng dụng trên nhiều loại thiết bị như: Điện thoại di động, máy tính để bàn, TV,…
Trang 7Khái niệm
JavaFX
JavaFX ra đời nhằm thay thế Swing cho các ứng dụng phát triển bằng ngôn ngữ Java như một khung giao diện đồ họa người dùng (GUI) Bởi vậy, JavaFX cung cấp nhiều tính năng mới cho người dùng nên nổi trội hẳn so với Swing như: dung lượng nhẹ hơn, tốc độ phần cứng được gia tăng và
hỗ trợ nhiều hệ điều hành: Windows, Linux, MacOS.
Trang 8Scene Builder là m t công c GUI d a trên ột số thư ụng liên quan và cách thực thi ực thi
giao di n ng ện của JavaFX ư ờng JavaFX i dùng đ h a đ thi t k ồn gốc của ọa để thiết kế ể thiết kế ết lập môi trường JavaFX ết lập môi trường JavaFX
giao di n ng ện của JavaFX ư ờng JavaFX i dùng JavaFX m t cách tr c ột số thư ực thi
quan Nó cho phép b n kéo và th các thành ạn kéo và thả các thành ả các thành
ph n giao di n ng ần giao diện người dùng, xây dựng layout ện của JavaFX ư ờng JavaFX i dùng, xây d ng layout ực thi
và t o các s ki n t ạn kéo và thả các thành ực thi ện của JavaFX ư ơng trình giao diện người dùng ng tác m t cách d ột số thư ễ
dàng.
NetBeans là m t IDE mã ngu n m dành ột số thư ồn gốc của ở dành
riêng cho Java và cung c p m t môi tr ấp một môi trường ột số thư ư ờng JavaFX ng
phát tri n toàn di n cho JavaFX Nó cung ể thiết kế ện của JavaFX
c p trình biên d ch, g l i, thi t k giao ấp một môi trường ịch, gỡ lỗi, thiết kế giao ỡ lỗi, thiết kế giao ỗi, thiết kế giao ết lập môi trường JavaFX ết lập môi trường JavaFX
di n ng ện của JavaFX ư ờng JavaFX i dùng kéo và th (drag-and- ả các thành
drop), và nhi u tính năng khác giúp phát ều tính năng khác giúp phát
tri n ng d ng JavaFX d dàng ể thiết kế ứng ụng liên quan và cách thực thi ễ
IntelliJ IDEA là m t môi tr ột số thư ư ờng JavaFX ng phát tri n ể thiết kế
tích h p (IDE) m nh mẽ cho Java và h tr ợp (IDE) mạnh mẽ cho Java và hỗ trợ ạn kéo và thả các thành ỗi, thiết kế giao ợp (IDE) mạnh mẽ cho Java và hỗ trợ
JavaFX t t Nó cung c p các tính năng nh ốc của ấp một môi trường ư
g i ý mã, g l i, refactoring, ki m tra cú ợp (IDE) mạnh mẽ cho Java và hỗ trợ ỡ lỗi, thiết kế giao ỗi, thiết kế giao ể thiết kế
pháp và h tr t o giao di n ng ỗi, thiết kế giao ợp (IDE) mạnh mẽ cho Java và hỗ trợ ạn kéo và thả các thành ện của JavaFX ư ờng JavaFX i dùng
JavaFX m t cách thu n ti n ột số thư ập môi trường JavaFX ện của JavaFX
Eclipse là m t IDE ph bi n và m nh mẽ ột số thư ổ biến và mạnh mẽ ết lập môi trường JavaFX ạn kéo và thả các thành
cho Java và cũng có h tr t t cho JavaFX Nó ỗi, thiết kế giao ợp (IDE) mạnh mẽ cho Java và hỗ trợ ốc của
cung c p các tính năng nh g l i, ki m tra ấp một môi trường ư ỡ lỗi, thiết kế giao ỗi, thiết kế giao ể thiết kế
cú pháp, g i ý mã và qu n lý d án đ phát ợp (IDE) mạnh mẽ cho Java và hỗ trợ ả các thành ực thi ể thiết kế
tri n ng d ng JavaFX ể thiết kế ứng ụng liên quan và cách thực thi
Gluon Scene Builder là m t phiên b n đ ột số thư ả các thành ư ợp (IDE) mạnh mẽ cho Java và hỗ trợ c
c i ti n c a Scene Builder, đ ả các thành ết lập môi trường JavaFX ủa ư ợp (IDE) mạnh mẽ cho Java và hỗ trợ ốc của ư c t i u hóa
cho phát tri n ng d ng di đ ng JavaFX Nó ể thiết kế ứng ụng liên quan và cách thực thi ột số thư
cung c p các tính năng đ c bi t đ t o giao ấp một môi trường ặc biệt để tạo giao ện của JavaFX ể thiết kế ạn kéo và thả các thành
di n ng ện của JavaFX ư ờng JavaFX i dùng cho ng d ng Android và ứng ụng liên quan và cách thực thi
iOS.
Maven và Gradle là các công c qu n lý ph ụng liên quan và cách thực thi ả các thành ụng liên quan và cách thực thi
thu c và xây d ng d án, cho phép b n ột số thư ực thi ực thi ạn kéo và thả các thành
qu n lý các th vi n và phiên b n c a ả các thành ư ện của JavaFX ả các thành ủa
JavaFX trong quá trình phát tri n ng d ng ể thiết kế ứng ụng liên quan và cách thực thi
Chúng giúp t đ ng hóa vi c cài đ t và qu n ực thi ột số thư ện của JavaFX ặc biệt để tạo giao ả các thành
lý các ph thu c c a JavaFX ụng liên quan và cách thực thi ột số thư ủa
Trang 9Nguồn gốc
- Chris Oliver là ng ười phát triển dự án JavaFX, vốn được đặt tên là i phát tri n d án JavaFX, v n đ ển dự án JavaFX, vốn được đặt tên là ự án JavaFX, vốn được đặt tên là ốn được đặt tên là ược đặt tên là c đ t tên là ặt tên là F3
(Forrm Follows Functions) t ban đ u v i m c tiêu b sung các tính ừ ban đầu với mục tiêu bổ sung các tính ầu với mục tiêu bổ sung các tính ới mục tiêu bổ sung các tính ục tiêu bổ sung các tính ổ sung các tính
năng m i cho vi c phát tri n giao di n ng ới mục tiêu bổ sung các tính ệc phát triển giao diện người dùng. ển dự án JavaFX, vốn được đặt tên là ệc phát triển giao diện người dùng. ười phát triển dự án JavaFX, vốn được đặt tên là i dùng.
- JavaFX đ ược đặt tên là c Sun Microsystems công b l n đ u tiên t i h i ngh ốn được đặt tên là ầu với mục tiêu bổ sung các tính ầu với mục tiêu bổ sung các tính ại hội nghị ội nghị ị
JavaOne Worldwide Java Developer vào tháng 5 năm 2007.
- Ngày 4 tháng 12 năm 2008, Sun phát hành JavaFX 1.0.2.
- JavaFX 1.2 (Marina) đ ược đặt tên là c ra m t t i h i ngh JavaOne vào ngày 2 ắt tại hội nghị JavaOne vào ngày 2 ại hội nghị ội nghị ị
tháng 6 năm 2009.
Trang 10Oracle đã thông báo
r ng h sẽ chuy n giao ằng họ sẽ chuyển giao ọa để thiết kế ể thiết kế
t ch c mã ngu n m ổ biến và mạnh mẽ ứng ồn gốc của ở dành
là Gluon.
Trang 11Các thành phần của
kiến trúc JavaFx: 01 - BRANDING
02 - WEBSITE
03 - SOCIAL MEDIA
Trang 12ng d ng JavaFX đ c vi t b ng cách
Ứng dụng JavaFX được viết bằng cách ục tiêu bổ sung các tính ược đặt tên là ết bằng cách ằng cách
s d ng m t S đ C nh quan (Scene ử dụng một Sơ đồ Cảnh quan (Scene ục tiêu bổ sung các tính ội nghị ơ đồ Cảnh quan (Scene ồ Cảnh quan (Scene ảnh quan (Scene
Graph); đó là m t đi m kh i đ u cho ội nghị ển dự án JavaFX, vốn được đặt tên là ởi đầu cho ầu với mục tiêu bổ sung các tính
vi c xây d ng ng d ng JavaFX S đ ệc phát triển giao diện người dùng ự án JavaFX, vốn được đặt tên là ứng dụng JavaFX Sơ đồ ục tiêu bổ sung các tính ơ đồ Cảnh quan (Scene ồ Cảnh quan (Scene
c nh quan là m t ảnh quan (Scene ội nghị cây phân c p c a các ấp một môi trường ủa
nút (nodes) đ i di n cho t t c các ại hội nghị ệc phát triển giao diện người dùng ất cả các ảnh quan (Scene
thành ph n giao di n ng ầu với mục tiêu bổ sung các tính ệc phát triển giao diện người dùng ười phát triển dự án JavaFX, vốn được đặt tên là i dùng và có
kh năng x lý s ki n M i nút có m t ảnh quan (Scene ử dụng một Sơ đồ Cảnh quan (Scene ự án JavaFX, vốn được đặt tên là ệc phát triển giao diện người dùng ỗi nút có một ội nghị
id, ki u dáng (style) và kích th ển dự án JavaFX, vốn được đặt tên là ưới mục tiêu bổ sung các tính c riêng
Có nhi u l p (classes) có s n trong gói ều lớp (classes) có sẵn trong gói ới mục tiêu bổ sung các tính ẵn trong gói
javafx.scene đ ược đặt tên là ử dụng một Sơ đồ Cảnh quan (Scene ục tiêu bổ sung các tính c s d ng đ t o, s a ển dự án JavaFX, vốn được đặt tên là ại hội nghị ử dụng một Sơ đồ Cảnh quan (Scene
đ i và áp d ng các bi n đ i lên các nút ổ sung các tính ục tiêu bổ sung các tính ết bằng cách ổ sung các tính
Scene Graph
Trang 13Bộ động cơ đồ họa
(Graphics Engine):
B đ ng c đ h a c a JavaFX ội nghị ội nghị ơ đồ Cảnh quan (Scene ồ Cảnh quan (Scene ọa của JavaFX ủa JavaFX cung c p h tr đ h a cho s đ ấp một môi trường ỗi, thiết kế giao ợp (IDE) mạnh mẽ cho Java và hỗ trợ ồn gốc của ọa để thiết kế ơng trình giao diện người dùng ồn gốc của
c nh quan ả các thành Nó h tr đ h a 2D và 3D Nó ỗi nút có một ợc đặt tên là ồ Cảnh quan (Scene ọa của JavaFX cung c p kh năng k t ấp một môi trường ả các thành ết lập môi trường JavaFX
xu t ph n m m khi ph n c ng đ h a trên h th ng không th ấp một môi trường ần giao diện người dùng, xây dựng layout ều tính năng khác giúp phát ần giao diện người dùng, xây dựng layout ứng ồn gốc của ọa để thiết kế ện của JavaFX ốc của ể thiết kế
h tr k t xu t tăng t c ỗi, thiết kế giao ợp (IDE) mạnh mẽ cho Java và hỗ trợ ết lập môi trường JavaFX ấp một môi trường ốc của Prism và Quantum Toolkit là hai đười phát triển dự án JavaFX, vốn được đặt tên là ng
ng đ h a tăng t c trong JavaFX
ốn được đặt tên là ồ Cảnh quan (Scene ọa của JavaFX ốn được đặt tên là
Prism: có th Đây là m t đển dự án JavaFX, vốn được đặt tên là k t xu t c đ h a 2D và 3D ết lập môi trường JavaFX ội nghị ười phát triển dự án JavaFX, vốn được đặt tên là ấp một môi trường ả các thành ồn gốc của ọa để thiết kế ng ng đ h a tăng t c ph n c ng hi u su t cao Nó ốn được đặt tên là ồ Cảnh quan (Scene ọa của JavaFX ốn được đặt tên là Nó cũng có kh năng ầu với mục tiêu bổ sung các tính ứng dụng JavaFX Sơ đồ ảnh quan (Scene ệc phát triển giao diện người dùng. ất cả các k t xu t ết lập môi trường JavaFX ấp một môi trường
đ h a trên các n n t ng khác nhau ồn gốc của ọa để thiết kế ều tính năng khác giúp phát ả các thành
Quantum Toolkit: Nó đ(GWT) l i v i nhau ược đặt tên là ử dụng một Sơ đồ Cảnh quan (Scene ục tiêu bổ sung các tính c s d ng đ và ạn kéo và thả các thành ới các ứng ển dự án JavaFX, vốn được đặt tên là làm cho chúng có s n cho các l p trong ngăn liên k t Prism và Glass Windowing Toolkit ết lập môi trường JavaFX ẵn trong gói ới mục tiêu bổ sung các tính
x p (stack).ết bằng cách
Glass Windowing
Toolkit:
Nó là m t ph n c a m c đ th p nh t trong ngăn x p đ h a JavaFX ội nghị ầu với mục tiêu bổ sung các tính ủa JavaFX ứng dụng JavaFX Sơ đồ ội nghị ất cả các ất cả các ết bằng cách ồ Cảnh quan (Scene ọa của JavaFX
và ho t đ ng ph thu c vào n n t ng, làm nhi m v ại hội nghị ội nghị ục tiêu bổ sung các tính ội nghị ều lớp (classes) có sẵn trong gói ảnh quan (Scene ệc phát triển giao diện người dùng ục tiêu bổ sung các tính giao ti p gi a ết lập môi trường JavaFX ữa
nhi m ệc phát triển giao diện người dùng cung c p các d ch v h đi u hành ấp một môi trường ịch, gỡ lỗi, thiết kế giao ụng liên quan và cách thực thi ện của JavaFX ều tính năng khác giúp phát nh qu n lý c a s , b ư ảnh quan (Scene ử dụng một Sơ đồ Cảnh quan (Scene ổ sung các tính ội nghị
đ m th i gian, hàng đ i s ki n và b m t.ết bằng cách ời phát triển dự án JavaFX, vốn được đặt tên là ợc đặt tên là ự án JavaFX, vốn được đặt tên là ệc phát triển giao diện người dùng ều lớp (classes) có sẵn trong gói ặt tên là
Trang 14di n ngệc phát triển giao diện người dùng ười phát triển dự án JavaFX, vốn được đặt tên là i dùng.
Bộ động cơ đa
phương tiện
(Media Engine):
ng d ng JavaFX có th h tr âm thanh và video b ng cách s
Ứng dụng JavaFX có thể hỗ trợ âm thanh và video bằng cách sử ụng liên quan và cách thực thi ể thiết kế ỗi, thiết kế giao ợp (IDE) mạnh mẽ cho Java và hỗ trợ ằng họ sẽ chuyển giao ử
d ng B đ ng c đa ph ụng liên quan và cách thực thi ột số thư ột số thư ơng trình giao diện người dùng ư ơng trình giao diện người dùng ng ti n ện của JavaFX Nó ph thu c vào m t b đ ng ục tiêu bổ sung các tính ội nghị ội nghị ội nghị ội nghị
c mã ngu n m g i là GStreamer Gói javafx.scene.media ch a t t ơ đồ Cảnh quan (Scene ồ Cảnh quan (Scene ởi đầu cho ọa của JavaFX ứng dụng JavaFX Sơ đồ ất cả các
c các l p và giao di n h tr ch c năng đa phảnh quan (Scene ới mục tiêu bổ sung các tính ệc phát triển giao diện người dùng ỗi nút có một ợc đặt tên là ứng dụng JavaFX Sơ đồ ươ đồ Cảnh quan (Scene ng ti n cho ng ệc phát triển giao diện người dùng ứng dụng JavaFX Sơ đồ
d ng JavaFX.ục tiêu bổ sung các tính
Trang 16Là c a s ch a t t c các đ i ử ổ biến và mạnh mẽ ứng ấp một môi trường ả các thành ốc của
t ư ợp (IDE) mạnh mẽ cho Java và hỗ trợ ng c a m t ng d ng ủa ột số thư ứng ụng liên quan và cách thực thi JavaFX và đ ư ợp (IDE) mạnh mẽ cho Java và hỗ trợ c đ i di n b i ạn kéo và thả các thành ện của JavaFX ở dành
javafx.stage
C a s chính đ ử dụng một Sơ đồ Cảnh quan (Scene ổ sung các tính ược đặt tên là ại hội nghị c t o b i n n ởi đầu cho ều lớp (classes) có sẵn trong gói
t ng (platform) chính mình và ảnh quan (Scene sau đó, đ i t ốn được đặt tên là ược đặt tên là ng c a s đ ử dụng một Sơ đồ Cảnh quan (Scene ổ sung các tính ược đặt tên là c
t o sẽ đ ại hội nghị ược đặt tên là c truy n làm đ i s ều lớp (classes) có sẵn trong gói ốn được đặt tên là ốn được đặt tên là cho ph ươ đồ Cảnh quan (Scene ng th c start() c a ứng dụng JavaFX Sơ đồ ủa JavaFX
l p Application ới mục tiêu bổ sung các tính
C a s có hai tham s xác đ nh ử dụng một Sơ đồ Cảnh quan (Scene ổ sung các tính ốn được đặt tên là ị
v trí c a nó, đó là Chi u r ng ị ủa JavaFX ều lớp (classes) có sẵn trong gói ội nghị (Width) và Chi u cao (Height) ều lớp (classes) có sẵn trong gói
Đ ược đặt tên là c chia thành 2 khu v c: Khu ự án JavaFX, vốn được đặt tên là
v c N i dung (Content Area) và ự án JavaFX, vốn được đặt tên là ội nghị
Khu v c Trang trí ự án JavaFX, vốn được đặt tên là (Decorations).
Trang 171 2 3
+24K
Có tổng cộng năm loại cửa sổ có sẵn như sau:
C a s có trang ử ổ biến và mạnh mẽ trí (Decorated)
C a s không có ử ổ biến và mạnh mẽ
trang trí (Undecorated)
Trang 18Một bối cảnh tượng trưng cho nội dung vật lý của một ứng dụng JavaFX Nó chứa tất cả nội dung của một biểu ồ cảnh đồ cảnh.
“SCENE” (bối cảnh)
Trang 19Một ồ thị cảnh đồ cảnh là một cây
giống như cấu trúc dữ liệu
thứ bậc thể hiện nội dung
của một cảnh Ngược lại,
Nodes
Một nút có thể bao gồm:
1.Các ối tượng hình học(Đồ họa)(2D và đồ cảnh 3D) như – Hình tròn, hình chữ nhật, Đa giác,
2.Điều khiển giao diện người dùng như – Nút, Hộp kiểm, Hộp lựa chọn, Vùng văn bản,
3.Các vùng chứa(Ngăn bố cục) chẳn hạng như Bỏder Pane, Grid Pane, Flow Pane, 4.Các phần tử media như ối tượng âm đồ cảnh.
thanh, Video và hình ảnh.
Trang 21CÁC CHỨC NĂNG CHÍNH
Trang 22FXML và Scene
khai báo dựa trên XML nhằm cấu tạo nên giao diện ứng dụng JavaFX Người dùng có thể code bằng FXML hoặc sử dụng JavaFX Scene Builder để
tương tác và thiết kế giao diện đồ họa người dùng
Scene Builder tạo ra các đánh dấu (markup), các đánh dấu này sau đó có thể chuyển vào
IDE các business logic.
Tài li u ệc phát triển giao diện người dùng tham kh o ảnh quan (Scene , video tham kh o ảnh quan (Scene
Trang 23Một thành tố của web sử dụng công nghệ WebKitHTML giúp nhúng 1 trang web trong 1 ứng dụng JavaFX JavaScript chạy trong WebView có thể gọi đến các Java API và ngược
lại.
JavaFX Webview, Class Webview,
Cách t o trình duy t b ng Webview trongại hội nghị ệc phát triển giao diện người dùng ằng cách
JavaFX
Trang 24Swing tương tác Các ứng dụng được tạo bằng Swing có thể được cập nhật
thêm các tính năng của
JavaFX.
Trang 25Hệ thống
đồ họa
Hệ thống đồ họa JavaFX là một chi tiết thực hiện bên dưới lớp đồ thị cảnh JavaFX
Nó hỗ trợ đồ thị cảnh 2D và 3D nó cung cấp phần mềm rendering khi phần cứng đồ họa trên một hệ thống không
đủ để hỗ trợ tăng tốc phần
cứng.
2D Shapes, 3D Shapes, Vẽ hình ch nh tữ nhật ật , Vẽ hình elip,
Vẽ đười phát triển dự án JavaFX, vốn được đặt tên là ng cong kh iốn được đặt tên là , Thu c tính n i đội nghị ốn được đặt tên là ười phát triển dự án JavaFX, vốn được đặt tên là ng nét