Duvida em aplicação Swing - 2

2 respostas
Zeed01

Bom dia colegas !

Tenho uma tela de cadastro de Apartamentos e preciso ter a opção de mostrar somente os apartamentos de um condominio ou o todos os apartamentos cadastrados.

Para resolver isso criei dois construtores na tela, um sem parametro que mostra todos os apartamentos e outro que recebe um condominio como parametro e mostra somente os apartamentos deste condominio.

Funcionou… até certo ponto.

Basicamente é assim: se estou na tela de cadastro de condominio e clico no botão “Mostrar apartamentos” ele chama a tela de cadastro de apartamento utilizando o construtor que recebe o Condominio como parametro.

Basicamente a mudanca é que no meu DAO tenho um select com “where condominio = ?” e outro sem…

O problema é que… estando na tela de cadastro de condominio, tenho ações que o usuario pode fazer que acabam por reconstruir a lista que é mostrada… quando ele inclui um apartamento, por exemplo.

Nesse momento eu não sei mais qual foi a maneira como ele entrou na tela: se pedindo pra mostrar todos os só os apartamentos do condominio.

Como sair desse problema ?
Colocar um flag e fazer IF na hora de chamar o método que busca os dados ?
Isso me pareceu meio estranho…

Obrigado a todos !

[]s

2 Respostas

Marky.Vasconcelos

Cara se for para saber de que classe veio o chamado você pode usar algo assim

String call = sun.reflect.Reflection.getCallerClass(2).getName();//0 é Reflection, 1 a classe do metodo,2 a classe que chamou, assim por diante de acordo com a pilha
System.out.println(call);//O nome da classe vem com seu pacote tipo java.util.List
Zeed01

Boa noite colegas !

Mark_Ameba:

Acho que entendi a sua idéia… vou testá-la.

Mas isso não vai me livrar de fazer algo como:

If (call == Classe1)
   buscaDados();   // sem filtro de condominio
else
   buscaDados(condominio);   // com filtro de condominio

Vai ?

Obrigado.

Um abraço.

Criado 30 de agosto de 2007
Ultima resposta 3 de set. de 2007
Respostas 2
Participantes 2