19.09.2015 Views

Prentice.Hall.Introduction.to.Java.Programming,.Brief.Version.9th.(2014).[sharethefiles.com]

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

AbstractTableModel and implement at least the following three<br />

methods:<br />

public int getRowCount()<br />

<br />

<br />

public int getColumnCount()<br />

public Object getValueAt(int row, int column)<br />

<br />

The DefaultTableModel class extends AbstractTableModel and<br />

implements these three methods. Additionally, DefaultTableModel<br />

provides concrete s<strong>to</strong>rage for data. The data are s<strong>to</strong>red in a<br />

vec<strong>to</strong>r. The elements in the vec<strong>to</strong>r are arrays of objects, each of<br />

which represents an individual cell value. The methods in<br />

DefaultTableModel for accessing and modifying data are shown in<br />

Figure 40.5.<br />

«interface»<br />

javax.swing.table.TableModel<br />

+getColumnClass(columnIndex: int): Class<br />

+getColumnName(columnIndex: int): String<br />

+getColumnCount(): int<br />

+getRowCount(): int<br />

+getValueAt(rowIndex: int, columnIndex: int):<br />

Object<br />

+setValueAt(aValue: Object, rowIndex:<br />

int, columnIndex: int): void<br />

+isCellEditable(rowIndex: int, columnIndex:<br />

int): boolean<br />

+addTableModelListener(l:<br />

TableModelListener): void<br />

+removeTableModelListener(l:<br />

TableModelListener): void<br />

Figure 40.5<br />

javax.swing.table.AbstractTableModel<br />

javax.swing.table.DefaultTableModel<br />

+DefaultTableModel()<br />

+DefaultTableModel(rowCount: int, columnCount: int)<br />

+DefaultTableModel(columnNames: Object[], rowCount: int)<br />

+DefaultTableModel(data: Object[][], columnNames: Object[])<br />

+DefaultTableModel(columnNames: Vec<strong>to</strong>r, rowCount: int)<br />

+DefaultTableModel(data: Vec<strong>to</strong>r, columnNames: Vec<strong>to</strong>r)<br />

+DefaultTableModel(rowData: Vec<strong>to</strong>r, columnNames: Vec<strong>to</strong>r)<br />

+addColumn(columnName: Object): void<br />

+addColumn(columnName: Object, columnData: Vec<strong>to</strong>r)<br />

+addRow(rowData: Object[]): void<br />

+addRow(rowData: Vec<strong>to</strong>r): void<br />

+getColumnCount(): int<br />

+getDataVec<strong>to</strong>r(): Vec<strong>to</strong>r<br />

+getRowCount(): int<br />

+insertRow(row: int, rowData: Object[]): void<br />

+insertRow(row: int, rowData: Vec<strong>to</strong>r): void<br />

+removeRow(row: int): void<br />

+setColumnCount(columnCount: int): void<br />

+setColumnIdentifiers(newIdentifiers: Object[]): void<br />

+setColumnIdentifiers(columnIdentifiers: Vec<strong>to</strong>r): void<br />

+setDataVec<strong>to</strong>r(dataVec<strong>to</strong>r: Object[][], columnIdentifiers:<br />

Object[]): void<br />

+setDataVec<strong>to</strong>r(dataVec<strong>to</strong>r: Vec<strong>to</strong>r, columnIdentifiers: Vec<strong>to</strong>r):<br />

void<br />

+setRowCount(rowCount: int): void<br />

TableModel s<strong>to</strong>res and manages data in a table and DefaultTableModel<br />

provides a default implementation for TableModel.<br />

Listing 40.3 gives an example that demonstrates table models. The<br />

example creates a table model (line 16), plugs the model <strong>to</strong> the<br />

table (line 20), appends a row <strong>to</strong> the table (line 25), inserts a<br />

row before the first row (line 26), removes a row with index 1<br />

(line 28), adds a new column (line 29), and sets new values at<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!