Swing uses MVC design.
The "Model" is responsible for holding the data and notifying the "View" when the data changes. So the Model has nothing to do with the rendering or editing of the data.
The "View" is responsible for displaying the data. So the View will be responsible for the Font. In the case of a JTable it uses renderers to display the data and editors to edit the data.
The editor used by any given cell is determined by the value return from the
getColumnClass(...) method. Unless you override this method, the Object class is used.
I believe, the renderer uses the Font of the table. So, to override the default Font of the default editor
you should be able to do something like: