TRUNG TÂM CÔNG NGHỆ PHẦN MỀM CẦN THƠ
r
a
in
m
e
S
Lập trình ứng dụng Java Desktop
với SwingX, Hibernate+JPA
Trình bày:
Võ Thành Luân
Tổ tư vấn khách hàng – Phòng Kinh Doanh
Nội dung
Giới thiệu về Swing
So sánh Swing, AWT, SWT, XUL
Giới thiệu về SwingX
Kiến trúc của SwingX
Các thành phần trong SwingX
Sử dụng SwingX trong NetBeans
Các framework nên dùng với SwingX
Tài liệu tham khảo
Demo
Question
Seminar: SwinngX, Hibernate, JPA Trang 2
Võ Thành Luân
Giới thiệu về Swing (1)
Swing là bộ công cụ GUI thế hệ kế tiếp mà Sun Microsystems tạo ra cho
phép môi trường phát triển enterprise trong Java.
Chính thức phát hành vào 3/1998
Swing không sử dụng bất kỳ thành phần nào của AWT
Swing 1.0 chứa khoảng 250 class và 80 interface
Swing 1.4 chứa khoảng 451 class và 85 interface
Yêu cầu JDK 1.1.5 trở lên.
Seminar: SwinngX, Hibernate, JPA Trang 3
Võ Thành Luân
Giới thiệu về Swing (2)
Đặc điểm phổ biến
Look and Feel pluggable : Swing là khả năng viết những cảm quan
(Look&Feels) cho mỗi thành phần, thậm chí thay đổi cảm quan vào thời
điểm runtime.
Các thành phần lightweight : Hầu hết các thành phần Swing là
lightweight, chỉ có một vài container top-level là không phải
Đặc điểm mở rộng: So với AWT thì Swing có rất nhiều những thành phần
mới như table, tree, slider, spinner, progress bar, internal frame và text
Ngoài ra còn có hỗ trợ debug cho việc hiển thị những thành phần Swing
Seminar: SwinngX, Hibernate, JPA Trang 4
Võ Thành Luân
So sánh Swing, AWT, SWT, XUL
AWT
Ra đời rất sớm, là nổ lực đầu tiên của Java về giao diện GUI có tên gọi là
Abstract Windowing Toolkit (AWT), được dựa trên các component của hệ
thống bản địa.
Ngày nay AWT ít khi được sử dụng chỉ một số lớp AWT, không bao gồm
những component, thì vẫn thường được sử dụng.
SWT
IBM đã quyết định xây dựng một tập các lớp GUI được xây dựng dựa
trên các component gốc gọi là SWT
và sử dụng các thành phần giao diện đồ họa có sẳn của hệ điều hành
Đáp ứng khả năng portable
Tốc độ và tài nguyên bộ nhớ chiếm giữ ít hơn so với sử dụng Swing
Seminar: SwinngX, Hibernate, JPA Trang 5
Võ Thành Luân
So sánh Swing, AWT, SWT, XUL (2)
XUL/XML
AWT, Swing và SWT rất giống nhau về hướng tiếp cận
XUL/XML tiếp cận theo một hướng khác trong tư duy về giao diện người
dùng là diễn tả nó trong XML.
Là một hướng đi mới và đầy hứa hẹn, tuy nhiên tài liệu rất ít hoặc thậm
chí không tồn tại.
Swing
Là sự lựa chọn phổ biến nhất.
Hổ trợ Look and Feel
Swing không thay thế bất cứ thứ gì trong AWT vì thế có thể đan xen sử
dụng 2 thư viện này
Hiện tại đã có SwingX là thư viện bổ sung nhiều tính năng mới cho Swing
Seminar: SwinngX, Hibernate, JPA Trang 6
Võ Thành Luân
Giới thiệu về SwingX
SwingX là thành phần mở rộng của Swing GUI
Cung cấp nhiều component mới và tính năng cao cấp:
- Sorting, filtering, highlighting for tables, trees, and lists
- Find/search
- Auto-completion
- Login/authentication framework
- TreeTable component
- Collapsible panel component
- Date picker component
- Tip-of-the-Day component
Seminar: SwinngX, Hibernate, JPA Trang 7
Võ Thành Luân
Giới thiệu về SwingX (2)
Các thông tin về SwingX có thể tìm thấy tại trang SwingLabs.org
Phiên bản mới nhất hiện nay SwingX 1.6
SwingX yêu cầu JDK 5 trở lên.
Seminar: SwinngX, Hibernate, JPA Trang 8
Võ Thành Luân
Kiến trúc SwingX
Kiến trúc Swing không khác gì so với Swing
Sử dụng kiểu đơn giản của thiết kế MVC gọi là Model – Delegate
MVC
Model-Delegate
Mỗi thành phần Swing chứa một Model và một UI (VD: Jbutton thì có
Button-UI và ButtonModel
Seminar: SwinngX, Hibernate, JPA Trang 9
Võ Thành Luân
Sử dụng SwingX trong NetBeans (1)
Seminar: SwinngX, Hibernate, JPA Trang 10
Võ Thành Luân