So sánh Swing, AWT, SWT,…

Source: leepoint.net
translate by:fly2universe
date: 24.07.2010

Native Component? Môt câu hỏi liên tục được đặt ra là liệu các thành phần GUI có nên được thực hiện bằng cách sử dụng các thành phần của hệ điều hành địa phương. Nếu vậy, trên Windows các nút Java được ánh xạ bởi các nút Windows bản địa , trên Macintosh là các nút Macintosh bản địa, vv. Đó là những gì mà Java GUI gốc-AWT đã làm, và làm thế nào mà SWT của IBM gần đây được chọn để thực hiên một GUI.

Tổng hợp các thành phần? Cách khác là định nghĩa các thành phần di động bằng cách có thể sử dụng cùng một mã trên tất cả các hệ thống. Đây là cách thực hiện thứ 2 của Java, làm việc với Swing.

Swing là sự  lựa chọn phổ biến nhất. Bài hướng dẫn này sử dụng Swing để thực hiện sự di động của các thành phần. Nó hổ trợ giao diện Look and Feel cho phép giao diện trả về rất gần với cách nhìn bản địa, tuy không chính xác đến từng pixel. Đây là sự lựa chọn chính.

Swing không thay thế bất cứ thứ gì trong AWT. Do đó bạn sẽ sử dụng đan xen giữa hai cái.  Tuy nhiên, không bao giờ  pha trộn các thành phần Swing và AWT. Thành phần Swing nói chung có những cái tên được bắt đầu bằng “J” (VD: JButton), AWT thì không (VD: JButton). Mặc dù pha trọn hai loại sẽ không phát sinh lỗi trong quá trình biện dịch, nhưng kết quả có thể hiển thị không đúng. Các lớp Graphics, Color, Font, layout, listener, …là từ AWT, cho nên bạn cần import chúng từ  AWT.

AWT. 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. Với môt số lý do chủ yếu này đã được thay thế trong phiên bản Swing,  mặc dù các lớp AWT cũ vẫn còn được hổ trợ. Một số lớp AWT,  không bao gồm những component, thì vẫn thường được sử dụng, đó là lý do tại sao bạn thường phải import cả hai package java.awt và java.swing. Bạn sẽ tìm thấy những chương trình vẫn còn sử dụng AWT, nhưng chúng thì hoặc rất cũ hoặc  chúng được viết với mục đích di động, chạy trên hệ thống lâu đời. Micro Edition của Java (cho PDA, phone, …) dựa trên nền AWT.

SWT. Những phiên bản đầu tiên của Swing có những vấn đề về hiệu suất, bây giờ hầu như đã được giải quyết. Để có được hiệu suất và vấn đề xung quanh sự xuất hiện, 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. Khả năng di động không là vấn đề lớn kể từ khi phiên bản SWT đã được viết cho những hệ điều hành chính.  Một số lập trình viên đã cải tiến nó để trờ thành Swing, nhưng những sự cải tiến này đã vô hiệu hóa đa số các lợi thế và SWT chính nó có những tập các vấn đề. Sau khi bạn học Swing, bạn có thể thử SWT, nhưng quan trọng bạn nên học Swing trước.

XUL/XML. AWT, Swing và SWT rất giống nhau về hướng tiếp cận. Một cách hoàn toàn khác trong tư duy về giao diện người dùng là diễn tả nó trong XML. Nhóm XUL là người tiên phong trong hướng tiếp cận này. và Microsoft khới tạo điều này như XAML. Có những người yêu thích thực sự thư viện này mới sử dụng chúng để tạo giao diện. Năm rồi tôi vừa sử dụng một trong số chúng, bao gồm SwixML, một trong những sự thi hành đã trưởng thành hơn nhưng bạn phải sẵn sàng để làm việc với một chút khó khăn hơn. Các tài liệu thì yếu kém, hoặc không tồn tại. Chúng có thể khó khăn trong thời gian đầu nhưng đây là một thư viện với hứa hẹn sẽ phát triển tốt trong tương lại.

—The End—

P/s: Nói chung là theo Swing, rồi xem thêm cái XUL nữa là được, không cần quan tâm đến AWT và SWT.

Không biết dịch chuẩn không nữa, không biết có ai xem không nữa, sao không thấy comment nữa hic hic

(c)f2u

Posted in Máy Tính. Tags: , , , , , . 1 Comment »

One Response to “So sánh Swing, AWT, SWT,…”


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: