Teclar Enter em um JTextField e disparar o evento de um botão

5 respostas
V

Pessoal, tudo bem??

Tenho um JTextField no meu Form e um botão pesquisar que quando clicado pesquisa no meu banco de dados e joga os resultados em uma JTable.

Não sei se é possível, mas estou querendo fazer o seguinte:

Quando o usuário digitar a String no JTextField e teclar enter, o sistema vai disparar o evento do meu botão Pesquisar.

Isso é Possível??

Exite também a possibilidade de um botão quando clicado, disparar o evento associado a um outro botão??

Por fim, queria que vocês me recomendassem uma boa apostila de Swing, porque estou levando “coro” em algumas coisas mais avançadas.

Desde já, obrigado a todos!!

5 Respostas

rodrigo.bossini

Isso aqui deve dar uma luz:

http://www.arquivodecodigos.net/arquivo/visualizar_dica.php?qual_dica=1661

danikms

Meu tenta isso aki… nao sei se vc jah conseguiu mas… ai vai !! tava com esse mesmo problema…

fiz isso aki no meu e deu certo… segue o trecho do codigo!

GridBagConstraints gbctfDescription = new GridBagConstraints();
gbctfDescription.gridy = 0;
gbctfDescription.gridx = 1;
gbctfDescription.anchor = GridBagConstraints.WEST;
gbctfDescription.fill = GridBagConstraints.NONE;
gbctfDescription.insets = new Insets(10,10,10,10);
this.add(tfDescription,gbctfDescription);
tfDescription.addActionListener(new BtSearchHandler());  // esse BtSearchHandler() é o cara que joga os dados na tabela

Ou seja, se vc quiser q o enter funcione sem o botao procurar só adicione o ActionListener nele…

deu certo aki… vlwwww

M

Você pode simular um clique no botão através do método doClick() de JButton. Por exemplo, supondo que sua JTable chame-se table e seu JButton chame-se buttonOk, teríamos algo assim:

table.addKeyListener(new KeyAdapter() {
    public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_ENTER) {
            botaoOk.doClick();
        }
    }
});
J

cara…
o que eu fiz foi o seguinte…
Ativei no jTxtCampoPesquisa o evento ActionPerformed
Funcionou… aki
espero que ajude
Vlw

private void jTxtCampoPesquisaActionPerformed(java.awt.event.ActionEvent evt) {

this.jBtPesquisarActionPerformed(evt);

}
javer

Tá estranho esse jeito de você vê a situação.

O que você pode fazer é criar um método que tanto pode ser executado no action do botão quanto na tecla ENTER no campo (ou onde mais você queira).

Criado 17 de fevereiro de 2009
Ultima resposta 13 de ago. de 2009
Respostas 5
Participantes 6