Ich habe für eine JComboBox ein ComboBoxModel erstellt. Das füllen und anzeigen der Daten funktioniert soweit, nur das selektieren geht nicht.
Sobald ich mit
versuche einen Eintrag zu selektieren, geschieht das erst wenn ich nochmal mit dem Mauszeiger über die ComboBox fahre. Erst dann wird der Eintrag selektiert.
Wie selektiere ich bei einem ComboBoxModel einen Eintrag.
Sobald ich mit
Code:
cbodistributor.setSelectedIndex(1);
versuche einen Eintrag zu selektieren, geschieht das erst wenn ich nochmal mit dem Mauszeiger über die ComboBox fahre. Erst dann wird der Eintrag selektiert.
Code:
import java.util.ArrayList;
import javax.swing.ComboBoxModel;
import javax.swing.ListModel;
import javax.swing.event.ListDataListener;
public class DistributorComboBoxModel implements ComboBoxModel{
private Object selectedObject;
private ArrayList<DistributorEntry> comboboxentries = new ArrayList<DistributorEntry>();
public DistributorComboBoxModel(){
addItem(new DistributorEntry(12,"Frankreich", "alle Franzosen"));
addItem(new DistributorEntry(23,"Deutschland", "alle hier"));
}
public void addItem(DistributorEntry aentry){
comboboxentries.add(aentry);
}
public DistributorEntry getItem(int row){
return comboboxentries.get(row);
}
@Override
public Object getElementAt(int row) {
return comboboxentries.get(row).getId()+" - "+comboboxentries.get(row).getName()+" - " + comboboxentries.get(row).getDescription();
}
@Override
public int getSize() {
return comboboxentries.size();
}
@Override
public Object getSelectedItem() {
return selectedObject;
}
public void setSelectedItem(Object anObject) {
if ((selectedObject != null && !selectedObject.equals( anObject )) ||
selectedObject == null && anObject != null) {
selectedObject = anObject;
//.fireContentsChanged(this, -1, -1);
}
}
@Override
public void addListDataListener(ListDataListener arg0) {
}
@Override
public void removeListDataListener(ListDataListener arg0) {
// TODO Auto-generated method stub
}
}
Wie selektiere ich bei einem ComboBoxModel einen Eintrag.