Desativando itens individuais do JComboBox

Este é um problema bastante comum, e a solução que usei é semelhante ào que eu procurei e encontrado mais tarde. Um implementa umListCellRenderer com umJLabel que habilita ou desabilita a si mesmo com base no índice selecionado atual:

public Component getListCellRendererComponent(JList list, Object value,
        int index, boolean isSelected, boolean cellHasFocus) {
    setText(value.toString());
    UIDefaults defaults = UIManager.getDefaults();
    Color fc;
    if (index == 1) {
        setEnabled(false);
        fc = defaults.getColor("Label.disabledForeground");
        setFocusable(false);
    } else {
        // fc = defaults.getColor("Label.foreground");
        fc = list.getForeground();
        setEnabled(list.isEnabled());
        setFocusable(true);
    }
    setForeground(fc);
    setBackground(isSelected ? list.getSelectionBackground() : list
            .getBackground());
    return this;
}

O problema é que, embora visualmente o item da lista apareça como desativado, ele ainda pode ser selecionado apesar dasetFocusable ligar. Como faço para desativá-lo?

questionAnswers(1)

yourAnswerToTheQuestion