Referências saindo na porrada(Observer sofrível)

3 respostas
Ironlynx

Como eu expliquei aqui:
http://www.guj.com.br/posts/list/71213.java
eu refatorei uma classe enorme, ficando com 6JPanels(q são outras classes) adicionados a um JTabbedPane em um JFrame Principal.
Entre essas abas(que são meus JPanels), 3 delas se comunicam entre si todo o tempo, tipo, o usuário cadastra na primeira, na terceira tb sai o nome dele, na segunda faz uma série de cálculos e preenche parte da terceira tambem.To usando Observer-Observable, mas a performance tá sofrível, dá para sentir “o tranco” na aplicação(parece um fiat 147 0.8 subindo uma ladeira).Alguém tem uma dica de melhoria/otimização?

3 Respostas

sergiotaborda

Suponho que vc esteja fazendo observable uma classe modelo ( que contém os dados) e não dos componenetes swing em si. Se não está fazendo isto, faça. Use binding e seja feliz.

B

Ola,

Aqui geralmente a gente cria uma classe controle, que é controladora dos n JPanel’s, então qq evento que há necessidade de atualizar outros JPanels é escutada e executada pelo controle, sendo que é mei chato, mas interessante, tratar caso a caso, um observable não é interessante pois vc manda um broadcast para todos e nem todos tratam o evento gerado… é legal vc migrar para o listener, criando interfaces talves…

Ironlynx
Sim, estou fazendo isso.Mas  quase apelando para deixar uma referencia em cada classe necessária para manipular  as variáveis que forem necessárias(porco, mas q talvez funcione...)  

<blockquote>Aqui geralmente a gente cria uma classe controle, que é controladora dos n JPanel's, </blockquote>
Parece interessante.Tem algum trecho de código para me dar uma idéia?


<blockquote>tratar caso a caso, um observable não é interessante pois vc manda um broadcast para todos e nem </blockquote>
É verdade.Tenho 112 componentes,  50 "participam" da coisa.

Sim, estou fazendo isso.Mas tô quase apelando para deixar uma referencia em cada classe necessária para manipular só as variáveis que forem necessárias(porco, mas q talvez funcione…)

Parece interessante.Tem algum trecho de código para me dar uma idéia?

É verdade.Tenho 112 componentes, só 50 “participam” da coisa.

Criado 10 de outubro de 2007
Ultima resposta 10 de out. de 2007
Respostas 3
Participantes 3