2015-06-13 32 views
5

Tôi không thể cung cấp mã vì đây là vấn đề trừu tượng mà tôi hiện đang phải đối mặt.Java Swing Hiển thị lượng lớn dữ liệu từ ArrayLists

Tôi đang làm việc trên một chương trình cho phép người dùng theo dõi người chơi từ trò chơi. Chương trình về cơ bản lưu trữ thông tin hồ sơ người chơi trong một ArrayList. Một tính năng của chương trình mà tôi muốn là cho phép người dùng có thể duyệt qua toàn bộ ArrayList của người chơi.

Giả sử tôi có một đối tượng ArrayList là Player và kích thước rất lớn, hãy nói 1000. Có thể trong Java để cho phép người dùng cuộn qua ArrayList không? Tôi đã nghĩ đến việc tạo 10 JLabels và mỗi khi người dùng nhấp vào một nút, nó sẽ lặp qua ArrayList đến 10 đối tượng tiếp theo Player. Nhưng điều này dường như không thực tế.

Có bất kỳ tính năng Swing nào tôi có thể sử dụng cho vấn đề này không?

Trả lời

7

Thử sử dụng JTable, trong đó mỗi hàng trong bảng chứa thông tin cho mỗi người chơi. Bạn có thể mở rộng lớp AbstractTableModel để xác định các trường cho mỗi trình phát và trình phát nào được hiển thị trên hàng bảng nào.

Tôi đã viết một ứng dụng Java sử dụng JTables với hơn 2000 hàng và khoảng 15 đến 20 cột và không có vấn đề về hiệu suất. Để giới hạn các hàng được hiển thị, bạn cũng có thể sử dụng RowFilter và bạn có thể tùy chỉnh việc sắp xếp bằng RowSorter.

+0

Cảm ơn bạn đã đề xuất, tôi sẽ xem xét thêm về JTables. Nếu bất cứ ai có đề nghị nữa tôi mở cho họ! –

+4

@RowenMcDaniel: lại, '" Tôi sẽ xem xét nhiều hơn về JTables. Nếu có ai đó còn gợi ý tôi mở cho họ! "- Không, đây là * câu trả lời đúng. Chấp nhận câu trả lời này và bắt đầu viết mã. Điều quan trọng là JTable với việc sử dụng kết xuất của nó sẽ hiệu quả hơn nhiều so với giải pháp của bạn liên quan đến việc tạo và hiển thị nhiều thành phần. –

+0

@HovercraftFullOfEels Cảm ơn bạn đã đảm bảo câu trả lời này: D. –

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