# JComboBox Item nicht auswählbar machen



## woezelmann (4. Mrz 2010)

Moin,

als der Titel sagst schon: ich möchte einige meiner Items in der JComboBox nicht auswählbar machen. Sie sollen trotzdem erscheinen. Habs so versucht:


```
public class FieldListCellRenderer extends DefaultListCellRenderer{

    @Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        Component comp = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);

        if (/* einige Bedingungen */){
            comp.setEnabled(false);
            comp.setFocusable(false);            
        } else {
            comp.setEnabled(true);
            comp.setFocusable(true);            
        }

        return comp;
    }
}
```

Die Items werden zwar ausgegraut, ich kann sie aber trotzdem noch auswählen.
Hat wer ne Idee?


----------



## Gast2 (4. Mrz 2010)

Warum willst du die überhauot anzeigen? Zeig dem User doch nur an was er auch wirklich brauchen kann...


Als Hack könntest ein ValueChangeListener an die Combobox hängen und wenn der User was "falsches" ausgewählt hat, dann den alten wert wieder setzen...


----------



## woezelmann (4. Mrz 2010)

Weil klar sein soll, dass noch andere Werte zur verfügung stehen, welche dann auch zur Auswahl stehen, wenn man woanders nen Wert ändert.

Werd das wohl so machen...


----------



## Michael... (4. Mrz 2010)

Man könnte ein eigenes ComboBoxModel verwenden. Am besten von DefaultComboBoxModel erben und darin die Methode setSelectedItem entsprechend überschreiben.


----------



## woezelmann (5. Mrz 2010)

Das ist genau, was ich gesucht habe


----------

