Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Listening for Changes to the Items in a JList Component

import javax.swing.DefaultListModel; import javax.swing.JList; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; public class Main {   public static void main(String[] argv) throws Exception {     JList list = new JList();     // Register a list data listener     DefaultListModel model = (DefaultListModel) list.getModel();     model.addListDataListener(new MyListDataListener());   } } class MyListDataListener implements ListDataListener {   public void intervalAdded(ListDataEvent evt) {     DefaultListModel model = (DefaultListModel) evt.getSource();     int start = evt.getIndex0();     int end = evt.getIndex1();     int count = end - start + 1;     for (int i = start; i <= end; i++) {       Object item = model.getElementAt(i);     }   }   public void intervalRemoved(ListDataEvent evt) {     int start = evt.getIndex0();     int end = evt.getIndex1();     int count = end - start + 1;   }   public void contentsChanged(ListDataEvent evt) {     DefaultListModel model = (DefaultListModel) evt.getSource();     int start = evt.getIndex0();     int end = evt.getIndex1();     int count = end - start + 1;     for (int i = start; i <= end; i++) {       Object item = model.getElementAt(i);     }   } }