¿Hay alguna manera fácil de comprobar si un elemento ya existe en un JComboBox además de repetir el último? Esto es lo que quiero hacer:Comprobando si un elemento ya existe en un JComboBox?
Item item = ...;
boolean exists = false;
for (int index = 0; index < myComboBox.getItemCount() && !exists; index++) {
if (item.equals(myComboBox.getItemAt(index)) {
exists = true;
}
}
if (!exists) {
myComboBox.addItem(item);
}
Gracias!
+1, pero me sorprende que el valor de retorno '-1' no se indique en la API. – mre
También podría crear una subclase DefaultComboBoxModel que anule el método addElement y use el método getIndexOf para verificar la duplicación antes de llamar a la versión de superclase de addElement. De esta manera, no tiene que invocar el código de deduplicación manualmente, y el ComboBox hará todo el trabajo automáticamente para cada elemento agregado. – Dyndrilliac
@mre si observas el origen 'DefaultComboBoxModel' ves que' int getIndexOf (Object anObject) 'devuelve' objects.indexOf (anObject) '. y 'objects' es' Vector'. – 1ac0