Phương pháp đầu tiên: triển khai toString()
trên lớp nhân viên và đặt lại tên. Làm cho mô hình hộp combo của bạn chứa các cá thể của Employee. Khi nhận được đối tượng đã chọn từ combo, bạn sẽ nhận được một cá thể Employee, và do đó bạn có thể nhận được ID của nó.
phương pháp thứ hai: nếu toString()
lợi nhuận một cái gì đó khác hơn là tên (thông tin gỡ lỗi, ví dụ), Thực hiện tương tự như trên, nhưng thiết lập thêm một renderer tế bào tùy chỉnh để combo của bạn. Trình kết xuất ô này sẽ phải truyền giá trị cho Nhân viên và đặt văn bản của nhãn thành tên của nhân viên.
public class EmployeeRenderer extends DefaulListCellRenderer {
@Override
public Component getListCellRendererComponent(JList<?> list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
setText(((Employee) value).getName());
return this;
}
}
Nguồn
2012-04-30 17:39:10
Tôi cảm thấy tốt hơn khi sử dụng trình kết xuất thay vì thay đổi 'thành String() 'để phù hợp với GUI. –