AbstractTableModel, DefaultTableModel
public interface TableModel
TableModel interface specifies the methods the JTable will use to interrogate a tabular data model.  The JTable can be set up to display any data model which implements the TableModel interface with a couple of lines of code: 
      TableModel myData = new MyTableModel();
      JTable table = new JTable(myData);
  
For further documentation, see Creating a Table Model in The Java Tutorial.
| Modifier and Type | Method | Description | 
|---|---|---|
| void | addTableModelListener | Adds a listener to the list that is notified each time a change to the data model occurs. | 
| Class | getColumnClass | Returns the most specific superclass for all the cell values in the column. | 
| int | getColumnCount() | Returns the number of columns in the model. | 
| String | getColumnName | Returns the name of the column at  columnIndex. | 
| int | getRowCount() | Returns the number of rows in the model. | 
| Object | getValueAt | Returns the value for the cell at  columnIndexandrowIndex. | 
| boolean | isCellEditable | Returns true if the cell at  rowIndexandcolumnIndexis editable. | 
| void | removeTableModelListener | Removes a listener from the list that is notified each time a change to the data model occurs. | 
| void | setValueAt | Sets the value in the cell at  columnIndexandrowIndextoaValue. | 
int getRowCount()
JTable uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.int getColumnCount()
JTable uses this method to determine how many columns it should create and display by default.String getColumnName(int columnIndex)
columnIndex. This is used to initialize the table's column header name. Note: this name does not need to be unique; two columns in a table can have the same name.columnIndex - the index of the columnClass<?> getColumnClass(int columnIndex)
JTable to set up a default renderer and editor for the column.columnIndex - the index of the columnboolean isCellEditable(int rowIndex, int columnIndex)
rowIndex and columnIndex is editable. Otherwise, setValueAt on the cell will not change the value of that cell.rowIndex - the row whose value to be queriedcolumnIndex - the column whose value to be queriedObject getValueAt(int rowIndex, int columnIndex)
columnIndex and rowIndex.rowIndex - the row whose value is to be queriedcolumnIndex - the column whose value is to be queriedvoid setValueAt(Object aValue, int rowIndex, int columnIndex)
columnIndex and rowIndex to aValue.aValue - the new valuerowIndex - the row whose value is to be changedcolumnIndex - the column whose value is to be changedvoid addTableModelListener(TableModelListener l)
l - the TableModelListenervoid removeTableModelListener(TableModelListener l)
l - the TableModelListener
    © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/table/TableModel.html