testar se form está ativo  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
belmonte
Thread.start()
[Avatar]

Membro desde: 06/09/2006 15:13:28
Mensagens: 31
Offline

olá!

1. tenho um form PEDIDO q chama o form CLIENTE:


2. qdo, no cliente, eu selecionar um registro (estou usando um jComboBox):

quero q, qdo eu fechar esse form, apareça num jTextField do pedido o código do cliente.

3. como faço para testar se o form PEDIDO está ativo qdo seleciono algo no jComboBox do form CLIENTE?

atenciosamente,

--
belmonte
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Você pode encapsular o form Pedido dentro do form Cliente, assim você faz no Pedido, EX:



ai quando você quizer passar os dados, dentro do CLIENTE para o PEDIDO:


follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

peerless wrote:Você pode encapsular o form Pedido dentro do form Cliente, assim você faz no Pedido, EX:



ai quando você quizer passar os dados, dentro do CLIENTE para o PEDIDO:



outra dica:
Utilize em modo MODAL, assim você garante que, o form "pai" não vai ser fechado antes do "filho"... o JDialog, tem um construtor específico para se fazer isso, no qual você passa o pai, e um booleano se quer ou não, que seja modal..

abçs

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

Uma alternativa a issso (pelo é assim que eu trabalho aqui), no construtor do form eu passo uma instância da classe que tem o método que eu quero que o form execute assim que for fechado. Dessa forma no evento de closed ou closing eu chamo o método da instância passada para o form. É muito simples e direto.

>> Inocêncio.
[MSN] [ICQ]
belmonte
Thread.start()
[Avatar]

Membro desde: 06/09/2006 15:13:28
Mensagens: 31
Offline

Grinvon wrote:Uma alternativa a issso (pelo é assim que eu trabalho aqui), no construtor do form eu passo uma instância da classe que tem o método que eu quero que o form execute assim que for fechado. Dessa forma no evento de closed ou closing eu chamo o método da instância passada para o form. É muito simples e direto.


Grinvon, não entendi, tem como passar um exemplo??

--
belmonte
Grinvon
GUJ Master
[Avatar]

Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline

Exemplo:

Sua classe A deve executar uma rotina quando a classe B for fechada.

Nesse caso temos.

Classe A chame Classe B.

Classe B herda ou cria intância de JFrame (JDialog, JInternalFrame, o que seja.)

Em classe A



Em B temos:



Você pode implementar a javax.swing.event.InternalFrameListener.

Bom, essa é uma das formas de se fazer isso. Outra forma seria por thread.

>> Inocêncio.
[MSN] [ICQ]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

outra forma seria por thread


Então. (como eu disse a mesma coisa) É a melhor forma.

Outra coisa, pense a nível de interfaces para ambos os casos, podendo promover um form digamos, "consultável" a uso de polimorfismo.

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
belmonte
Thread.start()
[Avatar]

Membro desde: 06/09/2006 15:13:28
Mensagens: 31
Offline

Grinvon wrote:Exemplo:

Sua classe A deve executar uma rotina quando a classe B for fechada.

Nesse caso temos.

Classe A chame Classe B.

Classe B herda ou cria intância de JFrame (JDialog, JInternalFrame, o que seja.)

Em classe A



Em B temos:



Você pode implementar a javax.swing.event.InternalFrameListener.

Bom, essa é uma das formas de se fazer isso. Outra forma seria por thread.


seguinte:

ClienteTela.java


PedidoTela.java


não rolou, deu erro...


o q estou fazendo errado?

--
belmonte
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

belmonte wrote:
Grinvon wrote:Exemplo:

Sua classe A deve executar uma rotina quando a classe B for fechada.

Nesse caso temos.

Classe A chame Classe B.

Classe B herda ou cria intância de JFrame (JDialog, JInternalFrame, o que seja.)

Em classe A



Em B temos:



Você pode implementar a javax.swing.event.InternalFrameListener.

Bom, essa é uma das formas de se fazer isso. Outra forma seria por thread.


seguinte:

ClienteTela.java


PedidoTela.java


não rolou, deu erro...


o q estou fazendo errado?


Amigão, se tu me ignorar mais uma vez não respondo mais este tópico!

Veja bem, você precisa fazer uma classe "enxergar" a outra.

Problema: Ao abrir a consulta, e a mesma ser efetuada, pegar o código em questão e enviar ao formulário pedinte.


Vamos fazer assim, a classe A é o seu pedido, e a B é a classe de consulta.

Em tese, precisamos fazer com que a classe A, crie uma nova instancia da classe B, enviando para esta instancia a sua própria instancia (de A), para que, a classe B, encapsule A, e saiba que deve enviar o seu retorno para ela, quando ela for fechada.

Consideramos o código a nível de interfaces:












Dê uma olhada no JDialog e veja seu construtor modal.. também pode ser útil!

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
belmonte
Thread.start()
[Avatar]

Membro desde: 06/09/2006 15:13:28
Mensagens: 31
Offline

peerless, deu certo! Obrigado guri!!
só tá dando um problema ainda...

como estou utilizando o método formWindowClosed, qdo chamo o form CLIENTE direto, sem ser por intermédio do form PEDIDO, ele deixa o java executando em background.
como faço para testar se a chamada veio do form PRINCIPAL (não precisando executar o método formWindowClosed) ou se a chamada veio do form PEDIDO (devendo executar o método formWindowClosed)?

abraço e obrigado mais uma vez! :D

This message was edited 1 time. Last update was at 09/02/2008 08:29:36


--
belmonte
diego2005
GUJ Master
[Avatar]

Membro desde: 17/08/2005 10:11:05
Mensagens: 1095
Offline

Verifique se o Receptor é null:





T+

SCJP 1.4

Meu Currículo
belmonte
Thread.start()
[Avatar]

Membro desde: 06/09/2006 15:13:28
Mensagens: 31
Offline

diego2005 wrote:Verifique se o Receptor é null:



T+


valeu guri!
a única coisa q precisei fazer foi trocar o local do código. Tirei do método formWindowClosed e coloquei no formWindowClosing, pois estava em looping. Não sei o motivo.
abraço!

--
belmonte
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team