这个压缩包里的都是超级经典的java例子
源代码在线查看: valueevent.htm
Listening for Changes to the Rows and Columns of a JTable Component (Java Developers Almanac Example)
The Java Developers Almanac 1.4
Order this book from Amazon.
google_ad_client = "pub-6001183370374757";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel = "4777242811";
google_ad_type = "text_image";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "6666CC";
google_color_url = "6666CC";
google_color_text = "000000";
//-->
Home
>
List of Packages
>
javax.swing.table
[62 examples]
>
Events
[4 examples]
e965. Listening for Changes to the Rows and Columns of a JTable Component
This example demonstrates how to detect row and columns being added,
deleted, or changed in a table component. To listen for these events,
a listener must be added to the JTable's table model.
Note: When a column is added, the type of the event is UPDATE.
table.getModel().addTableModelListener(new MyTableModelListener(table));
public class MyTableModelListener implements TableModelListener {
JTable table;
// It is necessary to keep the table since it is not possible
// to determine the table from the event's source
MyTableModelListener(JTable table) {
this.table = table;
}
public void tableChanged(TableModelEvent e) {
int firstRow = e.getFirstRow();
int lastRow = e.getLastRow();
int mColIndex = e.getColumn();
switch (e.getType()) {
case TableModelEvent.INSERT:
// The inserted rows are in the range [firstRow, lastRow]
for (int r=firstRow; r<=lastRow; r++) {
// Row r was inserted
}
break;
case TableModelEvent.UPDATE:
if (firstRow == TableModelEvent.HEADER_ROW) {
if (mColIndex == TableModelEvent.ALL_COLUMNS) {
// A column was added
} else {
// Column mColIndex in header changed
}
} else {
// The rows in the range [firstRow, lastRow] changed
for (int r=firstRow; r<=lastRow; r++) {
// Row r was changed
if (mColIndex == TableModelEvent.ALL_COLUMNS) {
// All columns in the range of rows have changed
} else {
// Column mColIndex changed
}
}
}
break;
case TableModelEvent.DELETE:
// The rows in the range [firstRow, lastRow] changed
for (int r=firstRow; r<=lastRow; r++) {
// Row r was deleted
}
break;
}
}
}
Related Examples
e964.
Listening for Selection Events in a JTable Component
e966.
Listening for Column-Related Changes in a JTable Component
e967.
Listening for Clicks on a Column Header in a JTable Component
See also:
Cells
Column Heads
Columns
Editing
Layout
Rows
Scrolling
Selection
Sorting
Table Model
Tool Tips
© 2002 Addison-Wesley.