Yesterday I noticed that a JList using a EventListModel performs very very badly in certain situations due to unnecessary cell rendering, while blocking EDT no less.
"certain situations" basically meaning "if a one or more items are selected AND the list is repopulated".
Somehow JList seems to update its layout (includes rendering of all cells) in response to selection change events triggered by DefaultSelectionModel which in turn is triggered by EventListModel.
See the demo for further information:
http://pastebin.com/f5fe233d6Just start the application and push "Drop". While adding 100 items the cell renderer is called over 5000 times (increasing exponentially, e.g. 200 items -> 20000 rendered cells, ...).
This issue seems to be related to another discussion, but using DefaultEventListModel did not fix the issue.
http://www.nabble.com/Performance-issue-with-AutoCompleteSupport--tt16463448.html#a16463525