Refresh ComboBox

Seguinte, na app q to fazendo aqui, tem essas seguintes telas.

1-Tela Login q abre imediatamente qnd o programa inicia.
2-Tela de Adiciona/Remover/Editar novos servidores.

Cada vez q modifico os servidores na tela 2 e saio dela, eh p/ o ComBox da tela 1 ser atualizado com as modificacoes novas, correto?

Eu ja consegui fazer isso, mas queria saber se tem outro jeito melhor.

To fazendo assim:

A app comeca pelo classe Main q chama a tela 1 de Login e essa chama a tela 2 caso queira editar os servidores.
Nessa classe Main, criei uma variavel static q recebe tela1 e na classe tela 1 criei um metodo public “atualizaComboBox()” responsavel pelo refresh no comboBox. Dai qnd eu fecho a tela 2, no evento (na classe tela2) de fechar a tela eu chamo o este metodo “atualizaComboBox()” pela variavel static, dai pega blz.

Mas achei meu “feio” fazer essa chamada do metodo “atualizaComboBox()” dentro da classe tela2. Alguem sabe uma maneira “mais bonita” de fazer essa atualizacao? Eu pensei em utilizar algum evento na classe tela 1, qnd ela instancia a classe Tela2, p qnd a Tela2 fechar, ai ela dava o refresh, mas n sei se isso eh possivel. E ai?

Me parece estar ok a sua implementação. Voce poderia também fazer o refresh do combo sempre e a tela 1 ganhar o focus.
Ainda assim poderia tb colocar o botão de refresh ao lado do combo.

Té+

Parece que ficou pratico, mas ainda não consegui captar esta logica…

será que poderia mostrar um fragmento deste codigo !!!

Valeu.!

[quote=tecdanilo]Me parece estar ok a sua implementação. Voce poderia também fazer o refresh do combo sempre e a tela 1 ganhar o focus.
Ainda assim poderia tb colocar o botão de refresh ao lado do combo.

Té+[/quote]

Na verdade, eu achei meio “acoplado” jogar o Main.tela1.refreshCombo() dentro do evento sairDaTela() da classe tela2(), sacas?

Em relacao a fazer um botao refresh eu ja tinha pensado nisso, mas n fica legal p minha app, tem q ser algo sem interacao do usuario. Vo tentar usa essa do evento focus, parece ser interessante.

[quote=DAPEDRA]Parece que ficou pratico, mas ainda não consegui captar esta logica…

será que poderia mostrar um fragmento deste codigo !!!

Valeu.![/quote]

Logica eh a seguinte:

3 Classes: Main, Tela1, Tela2

A aplicacao comeca chamando o “public static main(String[] args)” da classe Main. Dps a Main instancia Tela 1 e esta instancia Tela2 ao clicar em adicionar.

Existe uma variavel “static Tela1 tela1” em Main. E um metodo “public atualizaCombo()” em Tela1 p atualizar o combo.

Dai eh so colocar “Main.tela1.atualizaCombo()” no evento q fecha a janela e no botao sair da Tela2.

Sacou?

[quote=tecdanilo]Me parece estar ok a sua implementação. Voce poderia também fazer o refresh do combo sempre e a tela 1 ganhar o focus.
Ainda assim poderia tb colocar o botão de refresh ao lado do combo.

Té+[/quote]

Coloquei o refresh qnd a tela ganha focus, ficou perfeito, vlw…flw…

Tive um problema parecido, e resolvi de uma forma parecida…
sempre que preciso trocar de telas e nao posso perder os dados eu faço o seguinte…

Crio um Singleton para o caso de uso por exemplo, quanto vou sair da tela eu seto os dados
nesse singleton, e quando volto criei um método que pega esses dados e coloca no seus devidos
lugares…

agora so gostaria de colocar esse metodo pra ser chamado quando a tela ganhasse focus ?
como vc fez ?

Valeu…

eu fiz usando variavel static, mas ai ficava meio acoplado, pq precisava usar essa variavel static na tela 2, com evento de ganahr focus na tela1, desacoplei esse codigo de tela 2, ai achei q ficou mais bonito…

hlds como faz você para ter esse aspecto da GUI e ter essa barra de cima assim?

Isso sao Skins “Peles” denominados Look And Feel. Procure por Look and Feel em java q vc vai sacar. Eh so baixar o jar, colocar o comando p setar o L&F e pronto.

Essa em particular eh o Synthetica, infelizmente paga (280 paus). Mas tem umas gratis bem legais.

[quote=hlds]Isso sao Skins “Peles” denominados Look And Feel. Procure por Look and Feel em java q vc vai sacar. Eh so baixar o jar, colocar o comando p setar o L&F e pronto.

Essa em particular eh o Synthetica, infelizmente paga (280 paus). Mas tem umas gratis bem legais.[/quote]

Já descobri vários look and feels bem legais, no entanto estou com dúvidas de como os instalar/adicionar à minha aplicação.
Por exemplo, um deles tenho um ficheiro .zip. Tenho que colocar o ficheiro jar na mesma pasta que o classpath? e depois?

Outro que gostaria de experimentar é este: substance.dev.java.net/docs/skins/toneddown.html#BusinessBlackSteelSkin no entanto não encontro maneira de tal tal coisa.