Удалить выбранный элемент из JList - PullRequest
11 голосов
/ 23 февраля 2012

Может кто-нибудь сказать мне короткий способ удалить выбранные элементы из моего JList?

Я искал в Google и здесь, но я нашел очень много способов.Какой способ я должен использовать?

Ответы [ 3 ]

24 голосов
/ 23 февраля 2012

Как сказал @Andreas_D, решение, основанное на данных, более абстрактное ListModel.Это может быть DefaultListModel .Вы должны явно установить модель в JList.Итак (благодаря комментарию @kleopatra):

DefaultListModel model = (DefaultListModel) jlist.getModel();
int selectedIndex = jlist.getSelectedIndex();
if (selectedIndex != -1) {
    model.remove(selectedIndex);
}

В DefaultListModel есть несколько remove... методов. Кстати, это хороший вопрос, поскольку в API нет немедленного решения (ListModel).

3 голосов
/ 23 февраля 2012

Компонент JList поддерживается моделью списка.Поэтому единственный рекомендуемый способ удалить элемент из списка представление - это удалить его из модели (и обновить представление).

0 голосов
/ 07 февраля 2019

После удаления элемента из модели он также будет удален из списка. Вы можете обратиться к этой статье JList для получения дополнительной информации. Поскольку список поддерживается моделью, если вы выполняете какие-либо операции с моделью, он также отражается в списке. вам просто нужно обновить вид.

...