Tôi đang tìm nạp các giá trị dữ liệu từ cơ sở dữ liệu thành công. Tôi cũng đã lưu chúng vào một mảng String[]
. Tôi cần tải mảng String như các mục của JComboBox
để đáp ứng với hành động quan trọng. Làm thế nào tôi có thể tải lại các mục của JComboBox
bất cứ khi nào một phím được nhấn khi các giá trị được tìm nạp phụ thuộc vào phím được nhấn. Thay vào đó, tôi cần phải tự động làm mới các mục JComboBox
.Tự động thay đổi JComboBox
20
A
Trả lời
29
DefaultComboBoxModel model = new DefaultComboBoxModel(yourStringArray);
comboBox.setModel(model);
6
Bạn có một vài tùy chọn. Bạn có thể sử dụng removeAllItems()
(hoặc một trong các phương pháp xóa khác) và addItem(Object anObject)
để thao tác các đối tượng có thể chọn. Hoặc bạn có thể triển khai ComboBoxModel
và cho phép nó phân phối dữ liệu từ mảng của bạn.
6
Đây là bản demo cho minh họa kết hợp mặc định hộp mô hình
public class ComboPanel extends JPanel {
JComboBox jcbo;
// this is constructor
public ComboPanel(ArrayList<String> items) {
jcbo = new JComboBox();
// getting exiting combo box model
DefaultComboBoxModel model = (DefaultComboBoxModel) jcbo.getModel();
// removing old data
model.removeAllElements();
for (String item : items) {
model.addElement(item);
}
// setting model with new data
jcbo.setModel(model);
// adding combobox to panel
this.add(jcbo);
}
}
Tôi hy vọng điều này sẽ giúp ít :)
Cám ơn trả lời của bạn nhưng bạn có thể xin vui lòng gửi một mã số để illustrarte này. nó sẽ rất hữu ích. Tôi không chắc chắn về những gì để viết trong lớp DefaultComboBoxModel. –
Đó là mã. Bạn không viết gì trong lớp DefaultComboBoxModel. Bạn chỉ cần tạo mô hình bằng cách sử dụng mảng chuỗi và sau đó thêm mô hình vào hộp tổ hợp. – camickr