Список Java перестает обновляться после перетаскивания - PullRequest
0 голосов
/ 14 апреля 2011

Я создаю приложение, которое конвертирует файлы из xml в pptx.Пользователь будет перетаскивать элементы из JTree в JList для создания слайда.Мне удалось заставить все работать, но JList, кажется, исчезает после удаления.Я знаю, что падение получено из-за операторов печати, и что оно не равно нулю.JList все еще там, я верю, потому что я могу напечатать элементы в массиве.В ходе тестирования я думаю, что что-то не так в пользовательском DefaultListModel, который я создал.По какой-то причине он не вызывает update / redraw / revalidate после удаления или не выпускает своих слушателей действий, потому что я замечаю, что методы getSize и getElementAt перестают вызываться после удаления.Однако он работает правильно, если я добавляю элементы в ListModel при инициализации приложения.

Я просматривал всю документацию по ListModel и TransferHandlers, но не смог отобразить список после удаления.Моя модель пропускает переопределение или не обрабатывает слушателей каким-либо образом?

Полный источник: http://code.google.com/p/app4args/

Возможный проблемный файл: http://code.google.com/p/app4args/source/browse/trunk/src/edu/gatech/app4args/utils/CustomListModel.java

Для воссоздания:

  1. Загрузить последний выпуск / источник и пример XML-файла из раздела загрузок сайта проекта
  2. Запустить приложение, выбрать «Файл»> «Импорт», перейти к примеру XML-файла
  3. Создать новый слайд: Слайд> Новый слайд, выберите «Стандарт» (все работы)
  4. Перетащите элемент JTree из библиотеки в список в представлении содержимого слайда
  5. Список не обновляется, щелкая его или в любом другом месте приложения иобратно в список заставит его исчезнуть

Спасибо

1 Ответ

0 голосов
/ 19 апреля 2011

Оказывается, я переопределял методы в CustomListModel, которые имели отношение к обновлению того, как рисовать содержимое списка.Я удалил их и переделал несколько вещей, и теперь он правильно рисует.

...