XWork + Swing

Vamos lá,

Sempre programei pra web e agora estou me aventurando a programar algumas aplicações desktop. Na web usava o WebWork pra fazer os sites, com isso já conheço o XWork já tem um tempinho. Sabendo que o XWork pode ser usado em aplicações Swing eu comecei a estudar isso e já dei alguma avançada.

Eu já consegui fazer funcionar as actions usando ModelDriven mas não sei se estou fazendo do melhor jeito. Aqui vai um exemplo de como estou executando uma action ao clicar num botão:

...
JButton btInserir = new JButton("Inserir");
btInserir.addActionListener( new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			try {
				Map mapt = new HashMap();
				mapt.put("nome", "Joaquim");
				mapt.put("sobreNome", "Manuel");

				Map map = new HashMap();
				map.put(ActionContext.PARAMETERS, mapt);

				ActionProxy proxy = ActionProxyFactory.getFactory().createActionProxy("default","PessoaSave", map);
				String result = proxy.execute();
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}
	}
);

...

Está funcionando, mas é isso mesmo? Estou fazendo besteira? Tem maneiras melhores de se fazer isso?

A minha dúvida é na passagem dos parâmetros. É assim mesmo? Fazendo 2 Maps?

[]'s

Nao sei como ajudar nesse caso especifico, mas esse projeto talvez ajude em algum sentido: https://swingwork.dev.java.net/

Marcio Kuchma

é isso ae :smiley:

2 maps sim pq o contexto da action tem mais coisas alem dos parametros …

o caminho é esse, mas talvez vc deva estudar um modo de abstrair e desacoplar um pouco mais sua view … tipo, soh monta o mapa de parametros e passa a bola pra outro montar o contexto e chamar a action … com isso mais pra frente vc consegue colocar componentes na action, escopos, e outras coisitas.

Eu já tinha ído lá. Mas o projeto ainda nào tem nada. Nem um arquivinho pra fuçar…

Sim, eu vou fazer isso. Só tô fazendo testes pra ver como funciona direito. :smiley:

[]'s

Vapourware. :mrgreen:

Executar as actions clicando em botão é fácil. Mas eu tava pensando em como o XWork pode me ajudar a, por exemplo, preencher JComboBox, JTables e JLists na tela do programa.

Pensei em algumas soluções. Uma delas é fazer um result-type do XWork pra percorrer um Panel, achar os components lá dentro e preencher com os valores vindo da action.

Alguém tem outra sugestão? Acha que essa é a melhor maneira?

Perguntar não ofende: não existe um WebWork pra Swing?

[]'s

Ainda na base do chute - talvez aqui tenha alguma coisa util pra voce:

http://www.springframework.org/spring-rcp.html :smiley:

Marcio Kuchma

o spring RCP ta bem legal de brincar, ainda não fiz nada sério com ele,
mas é só baixar os fontes do CVS que vem uns exemplos muito bons junto :smiley: