Dúvida Swing

Ja fiz alguns sistemas simples e pequenos com swing agora alguns projeto tão crescendo e como ainda sou meio novato em JAVA a coisa ta ficando meio embaraçosa…

O que acontece é seguinte sempre que faço sistema com swing crio os layouts no eclipse, crio um JFrame com getJDesktopPane() e vou adicionando tudo nesse getJDesktopPane()… depois cada tela que mudo ou seja quando clico em botoes que vai pra outra tela eu do um .removeAll(); e um .updateUI(); e adiciono a nova tela nesse getJDesktopPane() … com isso o codigo vira uma zona cada layout é um metodo da minha classe… minha dúvida é como posso melhorar essa navegação, ou seja queria saber como posso mudar de tela entra uma e outra no swing deixando cada layout em uma classe…

Ja tentei cria um layout em cada classe mas ai quando muda de tela eu dava um setVisible(false)… mas se a pessoa arrastou a janela a outra abre no centro é meio estranho…

Enfim queria saber a forma mas correta de fazer esse estrutura… ja dei uma procurada mas nada me deu uma luz… essa salada que faço da mo trabalho pra manutenção depois…

Valew!

Maniezo,

Não entendi bem sua dúvida, mas minha sugestão é crar as telas (JFrame) no netBeans ( Matisse) e copiar o código para dentro do Eclipse. Assim você não fica gastando tempo na feitura das telas. Será preciso adicionar o swing-layout.jar ao seu projeto eclipse.

Márcio

Você pode criar um JPanel (extendendo a classe mesmo) para cada tela e então usar um JCardLayout no seu Frame principal.

A desculpe falto falar que faço as telas no VE do Eclipse quando as telas beleza faço rapidinho… meu problema é navegar entre elas…

Maniezo,

Também já trabalhei om o VE. Você sabe chamar um Jframe de outro Jframe ? Qual seu problema de navegação ?

Márcio

Oi marcioa1,

Pois acho que é ai que mora meu problema, quando preciso fazer isso eu desativo uma e abro a outra… não acho isso certo! como devo fazer!

Grato a todos!

bem, se vc tem um JDesktopPane no JFrame principal, e suas telas são JInternalFrame dentro desse JDesktopPane, um jeito é fazer assim mesmo, outro seria dar um setVisible(false); para esconder, ou dispose(); se não vai mais usar a tela no momento, para liberar a memória.

agora…

de que layout você tá falando?

Olha tem duas solições a priori:

contaneir.setVisible(false); ----------> não mostra o conteneir [ (J)Frame, (J)Panel ou (J)Window ], porém não é desabilitado ainda está em memória, só nao está visivel

a outra solução seria:

contaneir.dispose(); -----------> esse método seria melhor empregado em sua aplicação, ele fecha o conteiner de fato, como seu objeto encerrado.

É mais ou menos isso, espero ter ajudado!!!

bye!

Oi dudaskank,

Então quando digo layout é a design ou seja VE da tela mesmo…

Muito obrigado pela ajuda de todos!!! To fazendo alguns testes aqui! Conforme for depois coloco um exemplo do codigo pra todos verem!

Valew galera!!!

Fiz alguns teste e ainda não consegui resolver… Talvez eu não to sabendo exlpicar direito desculpe… o que queria era seguinte por exemplo eu faço um JFrame com os botoes la texts e tal ai tem um outro jframe com botoes, txts e tal ai quero ao apertar o botão ir para o outro JFrame… até ai eu consegui fiz os eventos e tal numa boa mas o que acho estranho é que quando to usando eu arrasto a janela(Jframe) de posição ai aperto o botão pra mudar de tela ele desabilita uma e abre outra mas com isso a posição na tela muda e da aquela piscada e é isso que eu não queria! queria fazer um jeito que so alterava o miolo! tipo na web por exemplo um site com iframe no meio e a cada clique so muda aquele miolo… entende… queria que no meu JFrame no swing o ao clicar num JButtom por exemplo so mudaria o miolo ali o resto cabeçalho ficaria estatica… parado…

Valew!