2010-05-27 35 views
6

Tôi muốn có văn bản nói một chuyện, nhưng có giá trị nói khácSWT tên combobox/cặp khóa

chữ chính

Nhưng nó chỉ mất một chuỗi để thêm mặt hàng.

Làm thế nào để các lập trình viên Java thường lưu trữ văn bản/cặp id trong comboboxes

Trả lời

13

Có lẽ bạn có thể sử dụng (chìa khóa String, giá trị Object) SetData phương pháp của combobox để đạt được những gì bạn muốn.

Ví dụ:

Combo box = new Combo(parent, SWT.DROP_DOWN); 
String s = "Item 1"; 
box.add(s); 
box.setData(s, "Some other info or object here"); 
s = "Item 2"; 
box.add(s); 
box.setData(s, "This is item two"); 

String value = (String)box.getData("Item 2"); 
// value is now "This is item two" 

Lưu ý rằng phương pháp getData trả về một đối tượng. Vì vậy, bạn phải bỏ nó vào Type mà bạn thiết lập với phương thức setData.

Vì lý do này, bạn không bị giới hạn đặt Chuỗi làm giá trị của mình. Bạn có thể đặt bất kỳ đối tượng nào bạn muốn làm giá trị bằng phương thức setData. Chỉ cần đảm bảo bạn truyền chính xác khi bạn nhận lại dữ liệu bằng phương thức getData.

Chỉnh sửa: BTW, bạn có thể sử dụng các phương thức setData và getData trên bất kỳ tiện ích SWT nào.