.:: CD08TH ::.NLU
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Tìm hiểu về SWING (P.2)

Go down

Tìm hiểu về SWING (P.2) Empty Tìm hiểu về SWING (P.2)

Post by baocong055 Sat Dec 25, 2010 1:34 pm

Những đặc điểm của Swing
Swing cung cấp các đặc điểm để viết những ứng dụng có khả năng mở rộng trong Java. Dưới đây là một trong những đặc điểm phổ biến
1.Cảm quan pluggable

Một trong những tính thể hiện thú vị nhất ở các lớp 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. L&Fs trở thành một vấn đề quan trọng trong việc phát triển GUI qua 10 năm. Nhiều người dùng quen thuộc với kiểu giao diện Motif phổ biến trong Windows 3.1 và vẫn còn sử dụng rộng rãi trong platform Unix. Microsoft tạo ra L&F nhỏ gọn hơn trong các hệ điều hành 95/98/NT/2000 của họ. Ngoài ra, hệ thống máy tính Macintosh cũng có một L&F được thiết kế riêng mà hầu hết người dùng Apple đều cảm thấy thoải mái với chúng.
Swing có khả năng thể hiện nhiều L&F khác nhau và hiện tại hỗ trợ các L&F bao gồm Windows, Unix Motif và Java Metal là L&F mặc định. Thêm vào đó, Swing cho phép người dùng chuyển đổi L&F vào thời điểm runtime mà không phải đóng ứng dụng. Theo cách này, một người dùng sẽ thử xem cảm quan nào là thể hiện tốt nhất đối với họ. Và nếu bạn cảm thấy bạn thật sự có tham vọng là một nhà phát triển, bạn hãy tạo L&F cho riêng bạn đối với mỗi thành phần Swing.

2.Các thành phần lightweight

Hầu hết các thành phần Swing đều không nặng nề. Theo nghĩa đen, nghĩa là những thành phần này độc lập trên những L&F hiển thị chúng. Thay vào đó, chúng sử dụng môi trường đồ họa gốc đơn giản để vẽ chúng trên màn hình.
Khả năng tạo ra những thành phần lightweight lần đầu tiên được đề cập trong JDK 1.1, mặc dù những thành phần AWT chính lại không nhận được những đặc điểm tiện lợi của nó. Trước đó, các lập trình viên không có một sự lựa chọn nào nhưng có những lớp con java.awt.Canvas hoặc java.awt.Panel để những lập trình viên có thể tạo ra những thành phần của riêng họ. Từ 2 lớp này, Java xác định một đối tượng opaque từ hệ điều hành đang chạy để thay thế thành phần này, tác động mạnh đến mỗi thành phần để tương tác nếu như bản thân nó là cửa sổ, và vì thế sẽ được đặt trên hình chữ nhật, đường viền đơn (solid). Vì thế những thành phần này mang tên gọi “heavyweight” bởi vì chúng nắm giữ những phần mở rộng ở mức độ gốc mà Java không sử dụng.

Với các thành phần lightweight, mỗi thành phần thể hiện bản thân nó bằng cách sử dụng đồ họa gốc của đối tượng Graphics. Chúng luôn thể hiện bản thân chúng trên bề mặt của các thành phần heavyweight cao nhất mà chúng được chứa trong đó. Những lớp này cho phép các lập trình viên thể hiện một cách nhanh chóng ngữ cảnh đồ họa của khung chứa (container). Kết quả là những thành phần tiết kiệm được vùng nhớ, chạy nhanh hơn những gì có sẵn trước đó trong Java.
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. Thiết kế này cho phép các lập trình viên vẽ và vẽ lại L&F của ứng dụng của họ vào thời điểm runtime kết hợp chúng vào cảm quan của hệ điều hành chạy ứng dụng đó. Thêm vào đó, cách thiết kế các thành phần Swing cho phép hỗ trợ dễ dàng chỉnh sửa cách hành xử của các thành phần.

3.Các đặc điểm mở rộng

Những đặc điểm riêng khác phân biệt Swing với những thành phần AWT cũ
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. Những thành phần Swing hỗ trợ việc thay thế các inset của chúng bằng một số lượng tùy ý các border lồng bên trong.
Các thành phần Swing có các Tooltip đặt bên trên chúng. Bạn có thể tùy chọn các sự kiện bàn phím cho các thành phần, định nghĩa chúng hoạt động như thế nào với những phím nóng đã cho.
- Ngoài ra còn có hỗ trợ debug cho việc hiển thị những thành phần Swing

4.Các gói và các lớp Swing

Dưới đây là những mô tả ngắn về các gói trong thư viện Swing

1.javax.accessibility

Chứa các lớp và các giao tiếp mà có thể được sử dụng cho phép công nghệ trợ giúp để tương tác với các thành phần của Swing. Các công nghệ trợ giúp đề cập một dãy các item, từ bộ đọc văn bản đến phóng đại màn hình. Mặc dù các lớp accessibility là những công nghệ không thuộc các thành phần Swing nhưng chúng được sử dụng mở rộng thông qua các thành phần Swing.

2.javax.swing

Chứa các thành phần cốt lõi của Swing, bao gốm hầu hết các mô hình giao tiếp và các lớp hỗ trợ

3.javax.swing.border


Chứa định nghĩa các lớp đường viền trừu tượng cũng như 8 đường viền được định nghĩa. Border không phải là những thành phần, thay vì thế, chúng là những yếu tố đồ họa đặc biệt mà Swing sử dụng như những thuộc tính và đặt chúng xung quanh các thành phần. Nếu như bạn muốn tạo ra border của riêng bạn, bạn có thể tạo lớp con từ những border có sẵn trong gói này, hoặc bạn có thể viết mã cho một lớpmới.

4.javax.swing.colorchooser


Hỗ trợ cho thành phần JColorChooser

5.javax.swing.event

Định nghĩa những listener mới và những event mà những thành phần Swing sử dụng để giao tiếp thông tin với các class.

6.javax.swing.filechooser

Hỗ trợ cho thành phần JFileChooser

7.javax.swing.plaf

Định nghĩa những yếu tố duy nhất tạo nên L&F cho mỗi thành phần Swing. Trong gói này chứa các gói con là javax.swing.plaf.basic, javax.swing.plaf.metal và javax.swing.plaf.multi

8.javax.swing.table


Cung cấp các mô hình và quan sát cho thành phần table, cho phép bạn sắp xếp thông riêng biệt trong định dạng lưới với sự xuất hiện tương tự như bảng tính.

9.javax.swing.text


Cung cấp các điểm của các lớp và giao tiếp dựa trên văn bản hỗ trợ thiết kế thông dụng được biết đến như document/view.

10.javax.swing.text.html

Sử dụng kỹ thuật đọc và định dang văn bản HTML

11.javax.swing.text.html.parser

Hỗ trợ việc phân tích HTML

12.javax.swing.text.rtf

Sử dụng kỹ thuật đọc và định dạng Rich Text Format

13.javax.swing.tree

Định nghĩa các mô hình và quan sát thành phần một cây phân cấp , có thể thay thế một cấu trúc file hoặc một dãy các thuộc tính.

14.javax.swing.undo

Chứa những chức năng cần thiết cho việc bổ sung chức năng undo.
baocong055
baocong055

Posts : 80
Join date : 2010-11-27
Age : 33
Location : Nông Lâm University !

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum