Gostaria de saber como fazer isso…
Tenho um JFrame (uma classe) que cadastra usuários, dentro do cadastro existe um botão de buscar cidade. Quando clico em buscar, abre um JWindow (outra Classe) para inserir os parâmetros de busca.
Como faço para que, ao encontrar a cidade desejada, ele retorne o nome cidade para um JTextField do meu JFrame de cadastro e feche a JWindow?
Tenho uma outra classe com get’s e set’s. Mas ele só atualiza o meu JTextField do JFrame cadastro, quando clico em busca novamente.
Gostaria de setar a cidade no meu JTextField, quando fechar a minha JWindow de pesquisa.
Compliquei o questionamento, neh???
Mas, tá aí… Quem puder me auxiliar, fico grato.
Não estou conseguindo, será que alguém poderia postar um código assim:
Uma tela principal com 1 JtextField e 1 JButton, quando clicar no JButton, abre outra janela, também com 1 JTextField e 1 JButton. O que eu digitar no JTextField dessa segunda tela, deverá aparecer no JTextField da primeira quando eu clicar no JButton da tela (segunda Tela).
danieldestro
Cara, melhor você voltar ao início e estudar java básico e conceitos de OO.
reizin
.
reizin
leonardom:
Qdo vc criar o seu JWindow (Tela de busca de cidades), passe a instancia do seu JFrame (Tela cadastro de usuarios), assim vc pode setar o JTextField.
packagete;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JTextField;publicclassExercicio02extendsJFrame{Exercicio01exer;privateJTextFieldentradaDados;privateJButtonbtIncluir;publicExercicio02(){super("Tela que envia");Containercontainer=getContentPane();container.setLayout(newFlowLayout());entradaDados=newJTextField(15);container.add(entradaDados);btIncluir=newJButton("Incluir");container.add(btIncluir);AcaoBotaoacao=newAcaoBotao();btIncluir.addActionListener(acao);setSize(200,120);setVisible(true);setLocation(200,200);}privateclassAcaoBotaoimplementsActionListener{publicvoidactionPerformed(ActionEventevento){if(evento.getSource()==btIncluir){exer.dado.setText("Funcionou");dispose();}}}}
Só que tá dando o seguinte erro quando cai na linha
exer.dado.setText("Funcionou");
:
java.lang.NullPointerException
at te.Exercicio02$AcaoBotao.actionPerformed(Exercicio02.java:42)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
O que posso fazer com isso....
danieldestro
Você está tentando acessar a variável exer sem ter um objeto nela.
Mude o trecho de código da classe Exercicio01 para:
private class AcaoBotao implements ActionListener
{
public void actionPerformed(ActionEvent evento)
{
if (evento.getSource() == btIncluir)
{
Exercicio02 i = new Exercicio02();
i.exer = this;
i.setVisible(true);
}
}
}
reizin
Daniel, eu agradeço bastante pela PACIENCIA (e como!!!)…
Eu tentei passar “this” para “i.exec”, só que dá erro de Incompatibilidade de tipo…
O que poderia ser isto?
danieldestro
Como erro de tipos? Impossível! Segundo o seu código os tipos são os mesmos.
Oooppssss… agora eu ví mesmo.
ao invés de:
i.exer = this;
faça
i.exer = Exercicio01.this;
Abraços
reizin
ALELUIA !!!
Muitíssimo obrigado pela ajuda e paciência…
Realmente tenho que estudar… E muito.
Deu certinho. Muito obrigado mesmo.
Falow
danieldestro
danieldestro:
Como erro de tipos? Impossível! Segundo o seu código os tipos são os mesmos.
Oooppssss… agora eu ví mesmo.
ao invés de:
i.exer = this;
faça
i.exer = Exercicio01.this;
Abraços
Neste caso, o this era a referência para a instãncia de ActionListener e não de Exercicio01.