Tôi đang sử dụng DefaultComboBoxModel
để hiển thị danh sách khách hàng trong một JComboBox
. Danh sách hiện chỉ hiển thị tên của họ. Tôi cũng muốn có tham chiếu đến từng khách hàng trong phạm vi DefaultComboBoxModel
để khi tên được chọn, nó cũng giữ tham chiếu đến đối tượng khách hàng thực.Java Swing: Mở rộng các phương thức DefaultComboBoxModel và ghi đè
Để đạt được điều này, tôi nghi ngờ tôi phải gia hạn DefaultComboBoxModel
và có thể ghi đè phương thức addElement()
? Hoặc tôi có thể chỉ cần thêm một phương pháp mới mà cũng có thể lưu trữ tài liệu tham khảo của tôi cho khách hàng? Nếu vậy, tôi có phải xem mã nguồn cho DefaultComboBoxModel
để xem cách mã lưu trữ các phần tử không? Xin lỗi nếu câu hỏi này là khó hiểu nhưng tôi không thể tìm ra cách để làm điều đó đúng cách. Cảm ơn vì đã đọc.
Thay vì thay đổi mô hình hoặc (nhiều hơn) trình kết xuất nếu thay đổi 'Customer.toString' là không phù hợp, hãy thêm' CustomerComboView' (hoặc tên tương tự) có đại diện hiển thị thích hợp của đối tượng 'Customer' (với phương thức 'toString' và' getCustomer'/'customer'). –
@Tom Hawtin - Cảm ơn bạn rõ ràng là tốt hơn rất nhiều – willcodejavaforfood
Đề xuất tuyệt vời, cảm ơn cả hai! – Johan