Попытка переместить объекты класса из одного JList в другой JList с помощью SelectedIndex.
Попытался прочитать учебник по Java, но я не могу найти то, что ищу.
В данный момент я попытался отправить JList customerList и получить выбранное значение / индекс и просто добавить его в нужный JList, но только сгенерировав ошибку с массивом и сообщив, что индекс равен-1.
Я попытался сделать это вместо
public void moveToQ1() {
index = customerList.getSelectedIndex();
if (index != -1) {
browsing.dequeue(customerList);
q1.enqueue(browsing, customerList, queue1, index);
}
}
Для вызова функции, которая перемещается от просмотра к очереди1
public void enqueue(QueLine queline, JList list1, JList list2, int index) {
DefaultListModel<Customer> browseModel = (DefaultListModel<Customer>) list1.getModel();
DefaultListModel<Customer> queueModel = (DefaultListModel<Customer>) list2.getModel();
int selectedIndex = index;
System.out.printf("%d\n", selectedIndex);
if(selectedIndex >= -1) {
queueModel.addElement(browseModel.getElementAt(selectedIndex));
}
}
Если у меня есть 3 объекта в browseModel ивыберите второй объект и нажмите кнопку для перемещения.Второй объект будет удален из browseModel, но не будет добавлен в queueModel, но вместо этого третий объект из browseModel будет добавлен в queueModel.
Также, если я пытаюсь переместить последний добавленный объект в browseModel в queueModel, я получаю «ArrayIndexOutofBoundsException»
Буду очень признателен, если меня укажут в направлении, чтобы выяснить, из этого работает.
Редактировать: в первом примере кода поменялись местами вызовы enqueue и dequeue, и проблема исчезла.