Olá pessoal!
To fazendo uma aplicação desktop e encontrei o framework Genesis. Achei muito interessante e comecei a usar. Porém to com um problema:
Tenho duas telas, cada uma com seu Form associado. Em uma das telas existe um botão e no Form correspondente existe um método anotado como @Action. Ao apertar esse botão a outra tela deve ser atualizada, uma tabela é populada. Essa tabela está associada a um método anotado com @DataProvider.
O problema é como fazer a comunicação entre esses dois Forms: quando um “action” de um for executado, o outro ser informado e atualizar a outra tela.
Valeu
Consegui resolver parte do problema.
Pra atualizar (sincronizar os dados) o Form com a tela usei:
Porém esse formulário possui dois campos “String” e se eu “setar” os dois ocorre a exceção “ConcurrentModificationException”.
Se alguém souber aí o que é isso …
Valeu
Ok pessoal, achei problema.
O Genesis sincroniza os dados da tela com o Form quando o componente perde o foco. Porém é possível mudar essa estratégia e, para uma caixa de texto, pode-se sincronizar quando uma tecla for digitada, como um “KeyListener” da vida!
Com SWT é assim q funciona:
Text textField;
// ...
textField.setData(AbstractBinder.BINDING_STRATEGY_PROPERTY,
AbstractBinder.BINDING_STRATEGY_AS_YOU_TYPE);
O problema é que eu coloquei isso em dois “Text” na mesma tela, e aí a exceção é dispara no momento da atualização do Form através do ActionInvoker.
Não sei como resolver… se alguém puder ajudar, valeu!