# Interface TableModel

All Known Implementing Classes:
  `AbstractTableModel, DefaultTableModel, SortableTableModel, UiBinding.BoundTableModel`

public interface TableModel
The table and table model class are complimentry classes allowing the quick construction of tabular data controls. The table model represents the data source according to which the table is constructed.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addDataChangeListener(DataChangedListener d)`
  Adds a listener to the data changed event
  `int`
  `getColumnCount()`
  Returns the number of columns in the table
  `String`
  `getColumnName(int i)`
  Returns the name of the column at the given offset
  `int`
  `getRowCount()`
  Returns the number of rows in the table
  `java.lang.Object`
  `getValueAt(int row, int column)`
  Returns the value of the cell at the given location
  `boolean`
  `isCellEditable(int row, int column)`
  Returns true if the cell at the given location is an editable cell
  `void`
  `removeDataChangeListener(DataChangedListener d)`
  Removes a listener to the data changed event
  `void`
  `setValueAt(int row, int column, java.lang.Object o)`
  Sets the value of the cell at the given location

- ## Method Details

  - ### getRowCount

    int getRowCount()

    Returns the number of rows in the table

    ###### Returns

    the number of rows in the table

  - ### getColumnCount

    int getColumnCount()

    Returns the number of columns in the table

    ###### Returns

    the number of columns in the table

  - ### getColumnName

    String getColumnName(int i)

    Returns the name of the column at the given offset

    ###### Parameters

    - `i`: the offset for the column name

    ###### Returns

    name to display at the top of the table

  - ### isCellEditable

    boolean isCellEditable(int row, int column)

    Returns true if the cell at the given location is an editable cell

    ###### Parameters

    - `row`: the cell row

    - `column`: the cell column

    ###### Returns

    true if the cell at the given location is an editable cell

  - ### getValueAt

    java.lang.Object getValueAt(int row, int column)

    Returns the value of the cell at the given location

    ###### Parameters

    - `row`: the cell row

    - `column`: the cell column

    ###### Returns

    the value of the cell at the given location

  - ### setValueAt

    void setValueAt(int row, int column, java.lang.Object o)

    Sets the value of the cell at the given location

    ###### Parameters

    - `row`: the cell row

    - `column`: the cell column

    - `o`: the value of the cell at the given location

  - ### addDataChangeListener

    void addDataChangeListener(DataChangedListener d)

    Adds a listener to the data changed event

    ###### Parameters

    - `d`: the new listener

  - ### removeDataChangeListener

    void removeDataChangeListener(DataChangedListener d)

    Removes a listener to the data changed event

    ###### Parameters

    - `d`: the listener to remove