Đã có một số câu trả lời hay, nhưng tôi muốn đề cập đến một khía cạnh hơi khác. Những thứ mà Swing cung cấp ngoài AWT.
Các thành phần
Swing hỗ trợ các tài liệu theo kiểu JEditorPane
& JTextPane
& ở một mức độ hạn chế bằng cách sử dụng HTML trong một số tài liệu khác JComponents
. AWT không hỗ trợ các tài liệu được tạo kiểu trong bất kỳ thành phần nào.
AWT không cung cấp cấu trúc dựa trên cây như JTree
, không có cấu trúc dạng bảng như JTable
, không có phiên bản của JToolBar
.
AWT không có tương đương (mà tôi có thể tìm thấy hoặc nhớ lại) cho JColorChooser
& không có đối với lớp tiện ích đơn giản - JOptionPane
.
Người nghe
Như đã đề cập trong nhận xét, hãy xem hơn 20 người nghe bổ sung / thay thế trong javax.swing.event
gói.
Giao diện và cảm nhận dễ chịu
Các thành phần xoay có thể được đặt thành một giao diện cụ thể tại thời điểm chạy, bao gồm cả PLAF bản địa.
Xem ảnh chụp màn hình trên Ví dụ về bố cục lồng nhau để biết thêm một số mẫu.
Bố cục
Ngoài rất nhiều bố cục AWT, Swing cung cấp:
BoxLayout
GroupLayout
OverlayLayout
ScrollPaneLayout
SpringLayout
ViewportLayout
Khác
Có lẽ còn nhiều điều mà tôi đã bỏ lỡ trong phần mô tả ngắn gọn đó, nhưng điểm mấu chốt là Swing là một bộ công cụ GUI hoàn toàn mới hơn và được kích hoạt nhiều hơn.
Swing được xây dựng dựa trên và chủ yếu dựa vào các lớp trong AWT.