Если у вас возникли проблемы, нажмите JavaDocs ...
DefaultListModel#removeElement
public boolean removeElement(Object obj)
Удаляет первое (с наименьшим индексом)) вхождение аргумента из этого списка.
Параметры:
obj - удаляемый компонент
Интересным моментом здесь является параметрObject
, а не индекс.Это означает, что с помощью автоматического бокса Java вы фактически пытаетесь удалить Integer(1)
, которого нет в модели.
Вместо этого, если вы сделали что-то вроде philosophers.removeElement("B");
Однако, если мы прочитаем немного больше в JavaDocs, мы найдем
DefaultListModel#remove
public E remove(int index)
Удаляет элемент в указанной позиции вэтот списокВозвращает элемент, который был удален из списка.
Выдает исключение ArrayIndexOutOfBoundsException, если индекс выходит за пределы диапазона (index <0 || index> = size ()).
Параметры:
index - индекс удаляемого элемента
Ах, это больше похоже на то, что вы ищете