Отключение отдельных элементов JComboBox

Это довольно распространенная проблема, и используемое мной решение аналогичночто я искал и нашел позже. Один реализуетListCellRenderer сJLabel который включает или отключает себя на основе текущего выбранного индекса:

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;
}

Проблема в том, что, хотя визуально элемент списка отображается как отключенный, его все равно можно выбрать, несмотря наsetFocusable вызов. Как мне на самом деле отключить его?

Ответы на вопрос(1)

Ваш ответ на вопрос