【发布时间】:2016-04-20 08:36:02
【问题描述】:
我正在尝试遍历 JComboBox 项目,即它连接到数据库,每当我单击它时,它都会从数据库中获取数据并更新它。但在这种情况下它会添加重复值。我试图通过在添加到 JComboBox 后遍历每个项目来验证它,如果现有项目与我尝试添加的项目相似,则它不应添加并跳转到其他语句。
然而我得到空指针错误,为了避免这个错误我第一次添加counter -1,但是一旦添加了项目并想要更新,它就会出错。
我的 JComboBox 代码如下:
comboBox.addMouseListener(
new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent ev) {
List<Guest> list = null;
list = database.readGuest();
int n = list.size();
if(n <= 0) {
JOptionPane.showMessageDialog(null, "No data found.");
}else {
for(int count = 0; count < n; count++) {
g = list.get(count);
String pass = g.getPassportNp();
//String s = (String) comboBox.getItemAt(count-1);
//for(int i = 0; i < n; ++i) {
if(comboBox.getItemCount() != 0) {
if(comboBox.getItemAt(count-1).equals(pass)) {
continue;
}else {
comboBox.addItem(pass);
}
}else {
comboBox.addItem(pass);
}
//}
}
}
}
});
有什么解决办法吗?
【问题讨论】:
-
如何使用 Set 作为中间件或确保数据库不返回重复项?