Usando MVC com Swing

11 respostas
tads

Boa tarde Pessoal, tudo bão? :lol:

Gostaria de saber a opinião de vocês a respeito de como usar
MVC com interface gráfica swing.
Eu procurei mensagens relacionadas nos fórums do GUJ sobre diversas
opiniões, então, baseado nisso eu montei um esqueminha e gostaria
de saber se está certo.

View:
Composto pela interface gráfica Swing, com JPanels, JFrames, JTextField,
entre outros.

Controller: (Onde está minha dúvida)
Composto por classes que implementam uma interface chamada
Action, que foi criada por mim.
Esta interface tem o seguinte método o qual os usuários devem criar:

public void execute (Form form, String action)

Onde o Form poderia ser o próprio bean e o action seria
uma ação como INSERT, UPDATE, DELETE OU SELECT.

Model:
Composto pelos beans, pelos DAOs e pelo Datasource.

O que vcs acham? Estou no caminho certo? :roll:

Grande abraço e obrigado,

11 Respostas

luiz_ross

O próprio swing foi implementado utilizando MVC

tads

Olá Luiz, tudo bom?

Eu tinha visto sobre que o swing foi feito com mvc, mas não entendi
muito bem.

mas eu posso fazer desta maneira que eu montei???

Um exemplo:

insertButton.addActionListener ( new ActionListener() { public void actionPerfomed(ActionEvent e) { CustomerAction customerAction = new CustomerAction(); customerAction.execute(form, "INSERT"); } } );

O exemplo acima separaria melhor, eu acho do que o exemplo
similar abaixo:

insertButton.addActionListener ( new ActionListener() { public void actionPerfomed(ActionEvent e) { CustomerDAO customerDAO = new CustomerDAO(datasource); customerDAO.insertCustomer(Dados do customer); } } );

Bom, não sei, estou começando a mexer com isso no swing.

Valew, Abraço…

M

Olá, gostaria de aproveitar o post. Tenho uma dúvida muito parecida.

Gostaria de saber se é possível usar struts para estar de alguma forma gerenciando essa camada de controle (Action) que o tads comentou ?

Não conheço nada de struts, só uma curiosidade.
Me falaram que struts é um web component e que não seria apropriado para estar usando com aplicações desktop (swing).

Então gostaria de saber se é ou não é possível, se é recomendado.

Pois tenho uma aplicação parecida com a do tads, onde tenho Classes (Action) que fazem a ação das telas e também fazem chamada remota (rmi/iiop) a ejbs.

valeu.

cv1

Especificamente no caso do Struts, nao, uma vez que as Actions do Struts esperam um HttpServletRequest e HttpServletResponse como parametros.

Mas a ideia funciona sim, e funciona muito bem no XWork - http://opensymphony.com/xwork. O XWork eh a base do WebWork, que provavelmente vc ja me ouviu falar bastante aqui no forum :smiley:

tads

E ai cv, beleza?

Intão, eu posso usar o XWork, ao invés de criar a interface Action,
como eu tava fazendo?

E fazer o mapeamento de ações através de XML também??

Struts - para Web
XWork - sistemas Desktop, por exemplo?

Falow,

Abraço

cv1

Nao. Tira o Struts da cabeca (leia esse topico: http://www.guj.com.br/forum/viewtopic.php?t=3906 ;))

WebWork 2 + XWork 1 + SiteMesh + ClickStream + Hibernate + Velocity + OSCache = sites estupidamente rapidos, desenvolvidos estupidamente rapido, com codigo ultra facil de dar manutencao :smiley:

(Claro, vc sempre acaba se batendo um pouco com a falta de documentação, mas as mailing lists ajudam muito ;))

cv1

Ah eh, faltou a licao de casa: :smiley:

http://wiki.opensymphony.com/space/WebWork2
http://wiki.opensymphony.com/space/XWork
http://wiki.opensymphony.com/space/SiteMesh
http://hibernate.org/
http://wiki.opensymphony.com/space/OSCache
http://jakarta.apache.org/velocity

Divitam-se! :smiley:

M

cv, vc sitou que daria para estar utilizando o XWork para aplicações desktop.
dei uma olhada no site e não encontrei nada esclarecedor.
o que encontrei foi:

http://wiki.opensymphony.com/space/XWork+Roadmap

Isso não quer dizer que para aplicações desktop(swing) está fora de cogitação ou entendi errado ?

R

ae cv…
no site do WebWork 2 nao achei o link p/ download…
onde posso baixa-lo??

valew

Hempx

não tem nada esclarecedor de como usar MVC em uma aplicação desktop aqui…!!!

C

Alguém sabe onde encontro um exemplo e/ou tutorial (do tipo receita de bolo) de utilização XWork??? O site do XWork ñ ajuda muito…

Obrigaadoooo!!

Criado 22 de setembro de 2003
Ultima resposta 25 de mar. de 2004
Respostas 11
Participantes 7