How to Write a Table Model Listener





How to Write a Table Model Listener

Each JTable object has a table model that holds its data. When a table model listener is registered on the table model, the listener is notified every time the table model's data changes. The JTable itself automatically uses a table model listener to make its GUI reflect the current state of the table model. You register a table model listener using the TableModel addTableModelListener method. For more information on tables, see How to Use Tables (page 388) in Chapter 7. In particular, the section Detecting Data Changes (page 397) discusses and shows an example of implementing a table model listener.

The Table Model Listener API

Figure lists the methods in the TableModelListener interface and Figure describes the methods in the TableModelEvent class. Note that TableModelListener has only one method, so it has no corresponding adapter class. Also refer to the TableModelListener API documentation online at: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/event/TableModelListener.html. The TableModelEvent API documentation is online at: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/event/Table-ModelEvent.html.

The TableModelListener Interface

Method

Purpose

tableChanged(TableModelEvent)

Called when the structure of or data in the table has changed.

The TableModelEvent API

Method

Purpose


Object getSource()

(in java.util.EventObject)

Return the object that fired the event.

int getFirstRow()

Return the index of the first row that changed. TableModelEvent.HEADER_ROW specifies the table header.

int getLastRow()

The last row that changed. Again, HEADER_ROW is a possible value.

int getColumn()

Return the index of the column that changed. The constant TableModel-Event.ALL_COLUMNS specifies that all the columns might have changed.

int getType()

What happened to the changed cells. The returned value is one of the following: TableModelEvent.INSERT, TableModelEvent.DELETE, or TableModelEvent.UPDATE.

Examples That Use Table Model Listeners

The following examples are related to table model listeners.

Example

Where Described

Notes

TableMap

Sorting and Otherwise Manipulating Data (page 412)

A superclass for data-manipulating table models. It implements a table model that sits between a table data model and a JTable. The TableMap listens for table model events from the data model, and then simply forwards them to its table model listeners (such as the JTable).

TableSorter

Sorting and Otherwise Manipulating Data (page 412)

A sorting table model implemented as a subclass of TableMap. In addition to forwarding table model events, the tableChanged method keeps track of the number of rows.

SharedModelDemo

Does not implement a table model listener. Instead, it implements a combined list and table model.


     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows