Tôi đã làm việc với Swing trong một thời gian nhưng toàn bộ mô hình/cấu trúc của JFrame
s, paint()
, super
, vv là tất cả những điều u ám trong tâm trí của tôi. Tôi cần giải thích rõ ràng hoặc liên kết sẽ giải thích cách toàn bộ hệ thống GUI được tổ chức.Java GUI Swing Model Giải thích
Trả lời
Điều tương tự cũng xảy ra với tôi. Trên thực tế cho đến ngày nay tôi không hoàn toàn nhận được 100% như thế nào tất cả các công trình.
Swing là một khuôn khổ rất linh hoạt - có lẽ quá linh hoạt. Với tính linh hoạt xuất hiện rất nhiều trừu tượng và trừu tượng đến sự nhầm lẫn. :)
Tôi đã tìm thấy các bài viết sau đáng đọc. Họ đã giúp tôi hiểu rõ hơn về bức tranh lớn của Swing.
- A Swing Architecture Overview
The process of installing a UI delegate, mà chỉ là hình ảnh này:
Họ giải thích khá tốt như thế nào mô hình và công việc đại biểu. Nó luôn khiến tôi phát điên khi tôi thấy những người này JLabel
, LabelUI
, ui.update
, v.v.
Bạn đã xem Hướng dẫn xoay Java (nhấp vào here) chưa? Nó làm một công việc khá tốt bao gồm những điều cơ bản của việc phát triển các ứng dụng Swing.
bởi Chet Haase và Romain Guy là một cuốn sách tuyệt vời về giao diện người dùng Java. Nó bao gồm một số công cụ tiên tiến hơn nữa, nhưng giới thiệu và vài chương đầu tiên giải thích những điều cơ bản tốt.
Nếu sau khi đọc hướng dẫn Swing, bạn thấy sở thích của mình nằm trong các chủ đề nâng cao hơn, bạn cũng có thể muốn xem Swing Second Edition bởi Robinson và Vorobiev.
Vì câu hỏi này được gắn thẻ với JFrame
, tôi sẽ đề xuất một vài liên kết để tìm hiểu cách hoạt động của các thùng chứa Swing cấp cao nhất JFrame
và.
Tôi cũng nhận thấy rằng Swing (và vẫn là) khá tham gia và xem tài liệu được cung cấp bởi Sun được yêu cầu mỗi lần trong một thời gian - Mỗi khi tôi kiểm tra, tôi dường như học một cái gì đó mới.
Đầu tiên, thông tin cơ bản: JFrame
lớp từ Đặc tả API Java. Các đặc tả Java API thường cung cấp thông tin chi tiết tốt về các lớp. Trong trường hợp này, bạn sẽ nhận thấy rằng có một số liên kết như phần How to Make Frames từ Hướng dẫn Java.
Ngoài ra, tôi cũng khuyên bạn nên xem Lesson: Using Swing Components từ Hướng dẫn Java. Bài học cung cấp hướng dẫn về cách sử dụng các thành phần được cung cấp trong Swing cùng với một số ví dụ hữu ích.
Để biết thêm chi tiết, các bộ phận mà tôi thấy khó hiểu khi bắt đầu với Swing là tất cả các loại khung khác nhau, chẳng hạn như ContentPane
, RootPane
, GlassPane
. Phần Using Top-Level Containers cung cấp thông tin và sơ đồ hữu ích về phân cấp vùng chứa của các vùng chứa cấp cao nhất. Phần How to Use Root Panes được đưa vào chi tiết về các ô Kính, Lớp và Nội dung với nhiều ví dụ.
Tôi đã tìm thấy rằng chỉ cần duyệt xung quanh trong mã nguồn (Ctrl-click vào tên nếu bạn đang sử dụng NetBeans) đã thực sự hữu ích. Nếu tôi thấy một phương thức xuất hiện trong hộp thoại hoàn thành mà tôi không quen thuộc, tôi sẽ chỉ nhấp vào "Chuyển đến nguồn" và nhìn xung quanh cho đến khi tôi thấy thoải mái với nó.
Tôi tìm thấy Swing Explorer là công cụ quý giá để hiểu thứ bậc của các thành phần (đặc biệt là trong GUI phức tạp) và xem các thuộc tính (than ôi, chỉ đọc: chúng ta quen với tiện ích Firebug!). Nó có một plugin Eclipse.
Liên kết rất hữu ích - chưa từng thấy trước đó; được đánh dấu để xem xét kỹ hơn sau này. –
Yeahh ... Tôi không nhớ làm thế nào tôi đã đến liên kết đó. Tôi đã không tìm thấy nó cho đến sau nhiều năm. Tôi không biết "tìm kiếm google" để tạo ra nó, vì vậy tôi có nó trong bookmark của tôi quá. – OscarRyz
liên kết @OscarRyz đã chết. bạn có bản sao không tôi cần những thứ đó cho học sinh của tôi. cảm ơn. – ihsan