Entendendo o MVC da classe JTable

Pessoal estou meio confuso nas “responsabilidades” entre as camadas Model e Controller da JTable, alguém poderia me ajudar com algum exemplo, explicando … qualquer coisa …

Tenho essa definição:

Model: é a classe responsável por representar os dados da tabela, sempre que iremos modificar os dados de uma JTable deve ser feito através do objeto model que é implementado pela interface TableModel ( AbstractTableModel e DefaultTableModel).

Controller: é a parte que controla os dados e a apresentação, ele é representado pela própria JTable.

Mas não sei bem a hora de user um obj do tipo table ou um do tipo tableModel.

Grato.

Um TableModel está associado a uma JTable.

Você usa o model para preencher os dados que serão exibidos na tabela ~as colunas

Os Objects são as linhas da tabela, você pode trabalhar o Model como se fosse uma List<> para modificar os dados apresentados.

[quote=Marky.Vasconcelos]Um TableModel está associado a uma JTable.

Você usa o model para preencher os dados que serão exibidos na tabela ~as colunas

Os Objects são as linhas da tabela, você pode trabalhar o Model como se fosse uma List<> para modificar os dados apresentados.[/quote]

E o Controller são as regras que me mostram determinados dados que queira apresentar? é isso?

O controller é o mecanismo de eventos do Swing e as funções que detectam as ações do usuário na tela. Você pode implementar um controller mais avançado e próprio, por exemplo, implementando um PropertyChangeListener.

Como em interfaces gráficas a UI fica “grudada” no model (não existe uma camada de comunicação no meio, como o HTTP), o controller acaba ficando tão fino e transparente que praticamente desaparece. Ele acaba se confundindo com o model.

Não é a toa que no Java o TableModel acaba fazendo algumas tarefas do controller, e no IOS os controllers acabam fazendo um pouco das vias de model. Dificilmente reforçar uma separação de maneira tao forte quanto se faz na web vale o esforço.

Isso é chamado de Simplified MVC. Veja um artigo da Oracle que explica a arquitetura:
http://www.oracle.com/technetwork/java/architecture-142923.html

Já esse outro mostra como ficaria um MVC completo:
http://www.oracle.com/technetwork/articles/javase/index-142890.html

Obrigado a todos, estarei olhando os links.