| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 09:09:05
|
belmonte
Thread.start()
![[Avatar]](/images/avatar/dc506560e1f9f5f4a27c6614123e2e50.jpg)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 10:54:50
|
peerless
GUJ Master
![[Avatar]](/images/avatar/5b2a8f2b014bb326fd82ee313704e78c.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 10:56:30
|
peerless
GUJ Master
![[Avatar]](/images/avatar/5b2a8f2b014bb326fd82ee313704e78c.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 10:57:11
|
Grinvon
GUJ Master
![[Avatar]](/images/avatar/aff0a6a4521232970b2c1cf539ad0a19.png)
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. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 11:20:05
|
belmonte
Thread.start()
![[Avatar]](/images/avatar/dc506560e1f9f5f4a27c6614123e2e50.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 12:14:02
|
Grinvon
GUJ Master
![[Avatar]](/images/avatar/aff0a6a4521232970b2c1cf539ad0a19.png)
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. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 13:23:54
|
peerless
GUJ Master
![[Avatar]](/images/avatar/5b2a8f2b014bb326fd82ee313704e78c.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 13:54:35
|
belmonte
Thread.start()
![[Avatar]](/images/avatar/dc506560e1f9f5f4a27c6614123e2e50.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2008 15:57:04
|
peerless
GUJ Master
![[Avatar]](/images/avatar/5b2a8f2b014bb326fd82ee313704e78c.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2008 08:28:29
|
belmonte
Thread.start()
![[Avatar]](/images/avatar/dc506560e1f9f5f4a27c6614123e2e50.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2008 09:30:30
|
diego2005
GUJ Master
![[Avatar]](/images/avatar/7fd4db88d31ab524e0afe153c4f9465a.jpeg)
Membro desde: 17/08/2005 10:11:05
Mensagens: 1095
Offline
|
Verifique se o Receptor é null:
T+
|
SCJP 1.4
Meu Currículo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2008 13:10:29
|
belmonte
Thread.start()
![[Avatar]](/images/avatar/dc506560e1f9f5f4a27c6614123e2e50.jpg)
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 |
|
|
 |
|
|