Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JList с обязательным выделением 
:(
    Опции темы
force
Дата 13.10.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.11.2005

Репутация: нет
Всего: нет



Как сделать так, чтобы в JList, который позволяет множественный выбор(реализует модель ListSelectionModel.MULTIPLE_INTERVAL_SELECTION), всегда один компонент был выбран? (т.е. чтобы он создавался с уже выбранным элементом). Может это можно как-то стандратно сделать, а не обрабатывать событие valueChanged.
PM MAIL   Вверх
powerOn
Дата 13.10.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Можно модель свою написать:

Код

jList1.setSelectionModel(new DefaultListSelectionModel() {
            public boolean isSelectedIndex(int index) {
                if (index == 1) {
                    return true;
                }
                return super.isSelectedIndex(index);
            }
            
        });


так первый элемент всегда будет выбран.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
force
Дата 13.10.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.11.2005

Репутация: нет
Всего: нет



powerOn, Наверно вы меня не правильно поняли. Мне не нужно, чтобы конкретный элемент был всегда выбран, а нужно, чтобы не было ситуации, когда нет ни одного выбранного элемента.Т.е. у меня должен создаться список с одним выбранным элементом (первым например) и если он только один выбран, то нажав ctrl+left mouse его выбор не должен пропасть, но если я просто выберу другой элемент, то этот уже не будет выбранным (если не нажата клавиша shift). Если же выбрано несколько, то выбор некоторых из них можно отменить как обычно.
PM MAIL   Вверх
force
Дата 14.10.2006, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.11.2005

Репутация: нет
Всего: нет



В моем случае нужно просто переопределить один метод у DefaultListSelectionListener
Код

        public void removeSelectionInterval(int index0, int index1)
        {
            if (!(this.getMinSelectionIndex() == index0 && this.getMaxSelectionIndex() == index1))
            {
                super.removeSelectionInterval(index0, index1);
            }
        }

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.