Delete selected item from JList

Bulit picture Bulit · Feb 22, 2012 · Viewed 43.6k times · Source

Can anyone tell me a short way to delete the selected items from my JList?

I searched on google and here, but I found very many ways. Which way should I use?

Answer

Joop Eggen picture Joop Eggen · Feb 22, 2012

As @Andreas_D said, the data centered, more abstract ListModel is the solution. This can be a DefaultListModel. You should explicitly set the model in the JList. So (thanks to comment by @kleopatra):

DefaultListModel model = (DefaultListModel) jlist.getModel();
int selectedIndex = jlist.getSelectedIndex();
if (selectedIndex != -1) {
    model.remove(selectedIndex);
}

There are several remove... methods in DefaultListModel. By the way, this is a good question, as there is no immediate solution in the API (ListModel).