A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://java.sun.com/docs/books/tutorial/uiswing/components/../events/listdatalistener.html below:

How to Write a List Data Listener (The Java™ Tutorials > Creating a GUI With Swing

How to Write a List Data Listener

List data events occur when the contents of a mutable list change. Since the model — not the component — fires these events, you have to register a list data listener with the list model. If you have not explicitly created a list with a mutable list model, then your list is immutable, and its model will not fire these events.

The following example demonstrates list data events on a mutable list:

Try this: 
  1. Click the Launch button to run ListDataEventDemo using Java™ Web Start (download JDK 7 or later). Alternatively, to compile and run the example yourself, consult the example index.
  2. Type in the name of your favorite ski resort and click the Add button. An intervalAdded event was fired.
  3. Select a few contiguous items in the list and click the Delete button. An intervalRemoved event was fired.
  4. Select one item and move it up or down in the list with the arrow buttons. Two contentsChanged events are fired — one for the item that moved and one for the item that was displaced.

You can find the demo's code in ListDataEventDemo.java. Here is the code that registers a list data listener on the list model and implements the listener:

//...where member variables are declared...
private DefaultListModel listModel;
...
//Create and populate the list model
listModel = new DefaultListModel();
...
listModel.addListDataListener(new MyListDataListener());

class MyListDataListener implements ListDataListener {
    public void contentsChanged(ListDataEvent e) {
        log.append("contentsChanged: " + e.getIndex0() +
                   ", " + e.getIndex1() + newline);
    }
    public void intervalAdded(ListDataEvent e) {
        log.append("intervalAdded: " + e.getIndex0() +
                   ", " + e.getIndex1() + newline);
    }
    public void intervalRemoved(ListDataEvent e) {
        log.append("intervalRemoved: " + e.getIndex0() +
                   ", " + e.getIndex1() + newline);
    }
} 
The List Data Listener API

The ListDataListener Interface

ListDataListener has no corresponding adapter class.

The ListDataEvent API

Method Purpose Object getSource()
(in java.util.EventObject) Return the object that fired the event. int getIndex0() Return the index of the first item whose value has changed. int getIndex1() Return the index of the last item whose value has changed. int getType() Return the event type. The possible values are: CONTENTS_CHANGED, INTERVAL_ADDED, or INTERVAL_REMOVED. Examples that Use List Data Listeners

The following table lists the examples that use list data listeners.

Example Where Described Notes ListDataEventDemo This section Reports all list data events that occur on a list.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4