Dúvida sobre Arquitetura de aplicativo Swing

4 respostas
L

Galera, seguinte. Eu estou aqui pensando e não consigo ver uma forma ‘legal’ fazer o que eu estou pensando.
O que eu tenho é o seguinte: Na janela principal do aplicativo eu tenho uma JTree com informações de servidores. Quero ir em um menu e selecionar uma ação, do tipo conectar, e durante essa nova ação será aberta uma janela de login. E nesse login ele já deveria estar selecionado o servidor da janela principal. Em outras ações eu também preciso que o servidor selecionado na janela principal seja conhecido…

Minha dúvida é: Qual a melhor maneira de nas janelas seguintes o aplicativo ‘saiba’ qual servidor está selecionado. Colocaria um método static na janela principal que me retorna o servidor, ou alguem tem alguma outra opinião?

4 Respostas

kicolobo

Na janela principal defina um método que retorne qual o Servidor selecionado.

Nas janelas que precisarem desta informação, defina o servidor como aquele retornado pelo método presente na janela principal.

L

Certo, mas para fazer isso seria necessário eu ter o método como sendo estático, não é?Se eu fizer isso, então o local onde armazeno os servidores também terão de ser.
Ou seria melhor passar a janela principal como parâmetro no construtor das novas janelas que irão abrir?

kicolobo

Você pode passar a janela principal como parâmetro pras outras janelas, ou então, definir o método estático.

Ou então, melhor ainda, armazenar o servidor atualmente aberto em uma classe que não seja um formulário, mas sim um singleton para a armazenagem de objetos utilizados pelo resto da interface gráfica.

São n opções :slight_smile:

L

Eu já uso um ResourceManager para a minha aplicação. O problema é que quanto essa parte de verificar o servidor, eu teria que implementar um listener na JTree para que cada vez que for selecionado um servidor diferente eu atualizar essa informação no ResourceManager. Não sei se essa é a melhor solução. No momento fiquei com a do método static -> JTree static.

Criado 13 de fevereiro de 2008
Ultima resposta 13 de fev. de 2008
Respostas 4
Participantes 2