Как я могу сделать некоторые элементы в JComboBox недоступными для выбора? - PullRequest
4 голосов
/ 04 марта 2010

Как я могу сделать некоторые из моих элементов JComboBox недоступными для выбора? Я попробовал это:

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

    Component comp = super.getListCellRendererComponent(list, value, index,
        isSelected, cellHasFocus);

    if (not selectable conditions) {
        comp.setEnabled(false);
        comp.setFocusable(false);
    } else {
        comp.setEnabled(true);
        comp.setFocusable(true);
    }

    return comp;
}

Элементы становятся серыми, но все еще доступны для выбора пользователем.

Ответы [ 2 ]

5 голосов
/ 04 марта 2010

Попробуйте изменить выбранный элемент на последний выбранный элемент, если выбран «невыбираемый» элемент. Это означает, что вам нужно сохранить «последний выбранный элемент» в поле.

1 голос
/ 04 марта 2010

Я бы хотел соблазн сделать это, чтобы показать пользователю (-ам) только действительные элементы, что-то недопустимое делает невидимым. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...