Desidero impostare l'indice selezionato in un JComboBox in base al valore e non all'indice. Come farlo? EsempioCome impostare l'indice selezionato JComboBox in base al valore
public class ComboItem {
private String value;
private String label;
public ComboItem(String value, String label) {
this.value = value;
this.label = label;
}
public String getValue() {
return this.value;
}
public String getLabel() {
return this.label;
}
@Override
public String toString() {
return label;
}
}
JComboBox test = new JComboBox();
test.addItem(new ComboItem(0, "orange"));
test.addItem(new ComboItem(1, "pear"));
test.addItem(new ComboItem(2, "apple"));
test.addItem(new ComboItem(3, "banana"));
test.setSelectedItem("banana");
Ok, ho modificato la mia domanda un po '. Ho dimenticato di avere un oggetto personalizzato all'interno del mio JComboBox che lo rende un po 'più difficile. non posso fare setSelectedItem come ho un ComboItem all'interno di ogni articolo. Quindi, come faccio a fare questo?
non riguardano gli articoli uso wrapper.Implementa invece un ListCellRenderer personalizzato che fa la mappatura del componente alla sua rappresentazione di stringa – kleopatra