quarta-feira, 7 de outubro de 2009

Re: RES: [java-br] Abrir Janelas

·

 

Pessoal.

Vou sugerir outra implementação. Explico.

Primeiramente eu coloco as caracteristicas das telas no seu proprio
construtor, deixando somente a mesma "invisivel". Outro detalhes é que
é usado o HIDE_ON_CLOSE nas telas para que os recursos das mesmas não
sejam eliminados, pois o objeto relativo às telas fica sempre
instanciado.

As classes das telas são as seguintes:
----------------------------------------------------------
package menu;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Tela1 extends JFrame
{
public Tela1()
{
this.getContentPane().add(new JLabel("Tela 1", JLabel.CENTER));

// Observar que eu somente escondo a tela, mantendo
// o objeto alocado para uso posterior
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setSize(200, 100);
this.setLocation(250, 350);
}

}
----------------------------------------------------------
package menu;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Tela2 extends JFrame
{
public Tela2()
{
this.getContentPane().add(new JLabel("Tela 2", JLabel.CENTER));

// Observar que eu somente escondo a tela, mantendo
// o objeto alocado para uso posterior
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setSize(200, 100);
this.setLocation(550, 350);
}

}
----------------------------------------------------------

Agora a tela principal. Observar os seguintes detalhes.

1) Eu ja deixo criada as telas 1 e 2, somente que elas não estão visíveis.

2) Eu coloco os objetos relativos às telas como propriedade do menu.
Todo componente swing pode armazenar objetos dentro dele atraves do
método putClienProperty, onde é fornecido uma chave em forma de String
e o objeto a ser armazenado.

3) É feita a instalação de um único ouvinte de menu, genérico.

4) No ouvinte de menu, basta recuperar a proriedade aramazenada no
item de menu acionado e chama o método setVisible para que a tela seja
mostrada.

Essa é uma possibilidade de implementação, pode haver outras, mas acho
que atende a sua necessidade relatada no seu email.

Abraço a todos da lista.

--
José Augusto Martins Nieviadonski
Sun Certified Associate for Java Platform, Standard Edition
Especialista Técnico II - FX and Trade Systems - HSBC Bank Brasil S.A.
Professor - Pós-graduação Java - Faculdades SPEI
jose.augusto.martins@gmail.com
jaugusto@spei.br

Citando André <deco0_07@yahoo.com.br>:

> Obrigado Alison e Gustavo..
>
> Fiz da seguinte forma..ja me ajuda bastante pra não ficar digitando sempre
> os mesmos codigos..rsrs
>
>
>
> public void AbreJanela(Object NomeJanela)
>
> {
>
> javax.swing.JFrame Formulario = (javax.swing.JFrame) NomeJanela;
>
> Formulario.setResizable(false);
>
> Formulario.setLocationRelativeTo(null);
>
> Formulario.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
>
> Formulario.setVisible(true);
>
> }
>
>
>
> Aí só instancio e chamo a função
>
>
>
> Usuario Cad_Usuario = new Usuario();
>
> AbreJanela(Cad_Usuario);
>
>
>
> Ciente Cad_Cliente = new Cliente();
>
> AbreJanela(Cad_Cliente);
>
>
>
>
>
> []'s
>
> De: java-br@yahoogrupos.com.br [mailto:java-br@yahoogrupos.com.br] Em nome
> de Alisson
> Enviada em: quarta-feira, 7 de outubro de 2009 Bomdia Andre 09:16
> Para: java-br@yahoogrupos.com.br
> Assunto: Re: [java-br] Abrir Janelas
>
>
>
>
>
> desculpe so retomando o que respondi.. a declaração do metodo esta certo..
> porem o codigo interno ficaria mais ou menos assim
>
> Public void AbreJanela(JFrame NomeJanela){
>
> NomeJanlea.setvisible();
>
> voce nao precisa instanciar novamente pois ja esta passando uma instancia de
> um objeto jframe.. entao, basta chamar o metodo!
>
>
>
>
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>

__._,_.___
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
Atividade nos últimos dias
Visite seu Grupo
Yahoo! Mail

Conecte-se ao mundo

Proteção anti-spam

Muito mais espaço

Yahoo! Barra

Instale grátis

Buscar sites na web

Checar seus e-mails .

Yahoo! Grupos

Crie seu próprio grupo

A melhor forma de comunicação

.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog