Я хочу, чтобы мои слушатели были уведомлены, если выбор JTree очищен, а не только тогда, когда новый выбор был успешно сделан.
Причина этого - мои слушатели повторно заполнять связанные таблицы графического интерфейса, и когда выбор очищается, такие таблицы также должны быть очищены, а не сохранять свое предыдущее состояние.
Могу ли я добиться этого с помощью функциональности OOB Swing? Этот фрагмент вызывает сомнение. По крайней мере, вызов setSelectionInterval(..) явно не лучший вариант
// javax.swing.DefaultListSelectionModel#setSelectionInterval
public void setSelectionInterval(int index0, int index1) {
// if selection cleared, an event is not fired
if (index0 == -1 || index1 == -1) {
return;
}
if (getSelectionMode() == SINGLE_SELECTION) {
index0 = index1;
}
updateLeadAnchorIndices(index0, index1);
int clearMin = minIndex;
int clearMax = maxIndex;
int setMin = Math.min(index0, index1);
int setMax = Math.max(index0, index1);
changeSelection(clearMin, clearMax, setMin, setMax);
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... g-clearing
Прослушивание изменений выбора, включая очистку ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1734008884
Anonymous
Я хочу, чтобы мои слушатели были уведомлены, если выбор JTree очищен, а не только тогда, когда новый выбор был успешно сделан.
Причина этого - мои слушатели повторно заполнять связанные таблицы графического интерфейса, и когда выбор очищается, такие таблицы также должны быть очищены, а не сохранять свое предыдущее состояние.
Могу ли я добиться этого с помощью функциональности OOB Swing? Этот фрагмент вызывает сомнение. По крайней мере, вызов setSelectionInterval(..) явно не лучший вариант
// javax.swing.DefaultListSelectionModel#setSelectionInterval
public void setSelectionInterval(int index0, int index1) {
// if selection cleared, an event is not fired
if (index0 == -1 || index1 == -1) {
return;
}
if (getSelectionMode() == SINGLE_SELECTION) {
index0 = index1;
}
updateLeadAnchorIndices(index0, index1);
int clearMin = minIndex;
int clearMax = maxIndex;
int setMin = Math.min(index0, index1);
int setMax = Math.max(index0, index1);
changeSelection(clearMin, clearMax, setMin, setMax);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79275181/listening-to-selection-changes-including-clearing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия