2011-11-02 28 views
11

Tôi muốn nếu có một số dự án được phát triển trong Java để tìm hiểu các phương pháp hay nhất của Swing. Tôi có nghĩa là một dự án nguồn mở được lưu trữ trên Internet thông qua SVN hoặc tương tự. Tôi đã đọc một số câu hỏi trong Stackoverflow về chủ đề này nhưng tôi sẽ thấy một số dự án. Cảm ơn.Một dự án Swing tốt để học các phương pháp hay nhất

Trả lời

8

Cách tôi học Swing thực hành tốt nhất là đọc mã nguồn Swing trong JDK và thực hành. Thực hiện theo các thực hành của Sun và bạn sẽ đi đúng hướng.

Đọc các triển khai của JTable, JTree, JScrollPane, các LookAndFeel khác nhau, SwingWorker, SwingUtilities. Việc xử lý sự kiện và các mẫu MVC của chúng cực kì phức tạp nhưng rất dễ đọc, có thể duy trì và có thể mở rộng. Về cơ bản, mỗi khi bạn sử dụng một thành phần, hãy đọc mã nguồn và hiểu những gì và tại sao họ làm điều đó. Cuối cùng, bạn sẽ bắt đầu làm điều tương tự.

Và quan trọng nhất là mã. Viết một số chương trình lớn và bạn sẽ bắt đầu thấy những thứ có vẻ không đúng hoặc tối ưu. Hãy đến với Stack và tìm hiểu xem bạn đang làm gì sai hoặc có thể làm tốt hơn. Viết một cái gì đó khác, và làm tương tự.

Điều đó nói rằng, các dự án sau đã (hoặc có thể có) mã tốt:

SwingX - Các bảo trì của SwingX là Sun/cựu Sun người, và tôi đã luôn luôn nghĩ về nó như lồng ấp không chính thức cho tương lai Tính năng Swing.

Squirrel (Máy khách JDBC) - Tôi chưa thực sự xem xét nguồn của mình, nhưng tôi đã sử dụng chương trình trong nhiều năm và nó không hiển thị bất kỳ sai sót phổ biến nào trong các chương trình Swing được viết kém. Với mức độ mạnh mẽ của nó, và nó hoạt động tốt như thế nào, tôi sẽ bỏ tiền mà nó được viết rất tốt.

InfoNode (Một khung công tác kết nối mạnh mẽ) - Tôi đã trải qua khá nhiều mã của họ và nó khá chắc chắn.

JFreeChart (Thư viện biểu đồ mạnh) - Không phải là mã lớn nhất, nhưng tốt hơn nhiều so với mức trung bình, đặc biệt là tính đến một dự án cũ của nó mà không bao giờ thực sự làm mọi thứ mọi người đang sử dụng nó. Điều đó nói rằng, nó rất mở rộng, và tôi chưa bao giờ có vấn đề gì khi tạo ra nó theo nhu cầu của tôi (đó là nhiều, nhiều hơn những ý định ban đầu của nó).

GlazedLists (Thư viện danh sách dựa trên sự kiện có hiệu suất cao) - Không chính xác Swing, nhưng xử lý sự kiện tương tự như Swing. Họ cũng có triển khai các mô hình Swing và một số thành phần tùy chỉnh cực kỳ nhanh.

JIDE Common Layer: Một bộ sưu tập lớn các thành phần tùy chỉnh phục vụ làm cơ sở cho các thành phần thương mại của chúng. Tôi đã không đi qua mã của họ, nhưng thành phần của họ là đẹp, và kể từ khi tập trung chính của họ là các thành phần Swing thương mại, một lần nữa, tôi muốn đặt tiền rằng mã của họ là rắn.

3

Tôi thấy rất thú vị khi thấy một ứng dụng chất lượng chuyên nghiệp được viết bằng Swing, chẳng hạn như IntelliJ IDEA Community Edition. Bây giờ nó có nguồn mở, bạn có thể kiểm tra mã và bắt đầu đào bới. Hãy cảnh báo trước, không có bình luận nào!

Các vấn đề liên quan