The JList doesn't refresh because it has no way to know that something has been added to the database and that it should thus ask the model again for the new elements. You have to fire an event when you add something to the database, or to replace the model of the list by a new model having the fresh list.
BTW, you shouldn't extend DefaultListModel, but AbstractListModel if you don't plan to use the data that DefaultListModel encapsulates. See its fireXxx()
method to fire an event.