The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.swing  [141 examples] > JList  [12 examples]

e785. Listening for Changes to the Items in a JList Component

When the set of items in a list component is changed, a list data event is fired.
    // Create a list that allows adds and removes;
    // see e778 Adding and Removing an Item in a JList Component
    
    // Register a list data listener
    DefaultListModel model = (DefaultListModel)list.getModel();
    model.addListDataListener(new MyListDataListener());
    
    class MyListDataListener implements ListDataListener {
        // This method is called when new items have been added to the list
        public void intervalAdded(ListDataEvent evt) {
            DefaultListModel model = (DefaultListModel)evt.getSource();
    
            // Get range of new  items
            int start = evt.getIndex0();
            int end = evt.getIndex1();
            int count = end-start+1;
    
            // Get new items
            for (int i=start; i<=end; i++) {
                Object item = model.getElementAt(i);
            }
        }
    
        // This method is called when items have been removed from the list
        public void intervalRemoved(ListDataEvent evt) {
            // Get range of removed items
            int start = evt.getIndex0();
            int end = evt.getIndex1();
            int count = end-start+1;
    
            // The removed items are not available
        }
    
    
        // This method is called when items in the list are replaced
        public void contentsChanged(ListDataEvent evt) {
            DefaultListModel model = (DefaultListModel)evt.getSource();
    
            // Get range of changed items
            int start = evt.getIndex0();
            int end = evt.getIndex1();
            int count = end-start+1;
    
            // Get changed items
            for (int i=start; i<=end; i++) {
                Object item = model.getElementAt(i);
            }
        }
    }

 Related Examples
e774. Creating a JList Component
e775. Setting the Dimensions of an Item in a JList Component
e776. Setting a Tool Tip for an Item in a JList Component
e777. Getting the Items in a JList Component
e778. Adding and Removing an Item in a JList Component
e779. Getting the Selected Items in a JList Component
e780. Setting the Selected Items in a JList Component
e781. Setting the Selection Mode of a JList Component
e782. Arranging Items in a JList Component
e783. Detecting Double and Triple Clicks on an Item in a JList Component
e784. Listening for Changes to the Selection in a JList Component

See also: Actions    JButton    JCheckBox    JComboBox    JDesktop and JInternalFrame    JFrame, JWindow, JDialog    JLabel    JProgressBar    JRadioButton    JScrollPane    JSlider    JSpinner    JSplitPane    JTabbedPane    JToolBar    Keystrokes and Input Maps    Layout    Look and Feel    Menus    Progress Monitor    The Screen    Tool Tips    UI Default Values   


© 2002 Addison-Wesley.