Evento clique do mouse e tecla enter

3 respostas
C

Boa tarde galera!

Sou novo por essas bandas.  
Estou tentando fazer umas rotinas em Java e gostaria de saber como fazer para que em um jButton ao clicar com o mouse tenha o mesmo evento que ao teclar a tecla enter, fiz funcionar com o enter mas com o mouse soh consegui criando no event mousepressed e colocando o mesmo codigo do evento keypressed do jButton, mas ai estou repetindo o mesmo codigo.

esse codigo uso para a tecla enter ou qualquer tecla que o usuario teclar

private void jButton7KeyPressed(java.awt.event.KeyEvent evt) {                                    
    javax.swing.table.DefaultTableModel modelo = (javax.swing.table.DefaultTableModel)jTable1.getModel();
    modelo.setNumRows(0); 
    //comeca com...
    if (buttonGroup1.getSelection().getActionCommand().equals("1")) {
        oper1 = "LIKE";
        oper2 = "";
        oper3 = "%";
    }
    //contem...
    if (buttonGroup1.getSelection().getActionCommand().equals("2")) {
        oper1 = "LIKE";
        oper2 = "%";
        oper3 = "%";
    }

    //if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
        PreparedStatement st_sx6p = null;
	try {
	    st_sx6p = conexao.prepareStatement ("" +
                    "SELECT * FROM SX6 WHERE "+jComboBox1.getSelectedItem()+" "+oper1+" '"+oper2+jTextField1.getText()+oper3+"' " +
                    " ORDER BY X6_EMPRESA");

            ResultSet rs_sx6p = st_sx6p.executeQuery();
	    for ( i = 1; i <= 7; ++i ) {
                rs_sx6p.next();

                modelo.addRow(new Object[]{rs_sx6p.getString(1), rs_sx6p.getString(2), rs_sx6p.getString(3), 
                  rs_sx6p.getString(4), rs_sx6p.getString(5), rs_sx6p.getString(6), rs_sx6p.getString(7), 
                  rs_sx6p.getString(8), rs_sx6p.getString(9), rs_sx6p.getString(10)});
	    }         
     	} catch ( Exception x ){}
	finally {}              
    //}
}

e preciso que ao clicar com o mouse esse mesmo codigo execute, sem precisar ter que repetir todo ele.

ah estou usando o NetBeans 6.1 e meu banco eh Oracle estou vindo do Delphi e aindo quero passar toda minha aplicacao de Delphi para Java.

Obrigado pessoal!

3 Respostas

ViniGodoy

Há duas maneiras de fazer isso. Em ordem, da melhor para a pior:

  1. Separe seu código numa Action. Registre os demais dados da action (nome, tecla de atalho, etc). Registre a action para o botão e invoque a action no keypress.
  2. Ponha seu código numa função; Chame essa função no evento do botão e no evento de keypress.
gertmuller

as únicas duas maneiras que eu conheço são essas que o ViniGodoy falou…

a mais simples delas é a segunda…
é só implementar um método e chamar ele duas vezes… 8)

C

Obrigadao pessoal, vou fazer isso… :smiley:

Criado 11 de julho de 2008
Ultima resposta 12 de jul. de 2008
Respostas 3
Participantes 3