How to Write a Table Model Listener

 <  Day Day Up  >  

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

Table 33 lists the methods in the TableModelListener interface and Table 34 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.

Table 33. The TableModelListener Interface

Method

Purpose

tableChanged(TableModelEvent)

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

Table 34. 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.

 <  Day Day Up  >  


JFC Swing Tutorial, The. A Guide to Constructing GUIs
The JFC Swing Tutorial: A Guide to Constructing GUIs (2nd Edition)
ISBN: 0201914670
EAN: 2147483647
Year: 2004
Pages: 171

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net