Duvida passa de um campo para outro

3 respostas
S

galera seguin tenho dois JTextField, e gostaria que no momento em que eu digitei algo no primeiro textfiled e clickei enter, ele jah vai para o segundo, assim não preciso usar o mouse para trocar em um e outro, o problema é que não qual o metodo que faz com que eu vá para o outro textfield, jah tentei fazer assim, no memento que pressiono o enter eu chamo o metodo setfocusable(true) mas não resolveu, alguem ai tem uma ideia de como colocar o cursos no outro jtext depois de pressionado o enter?

3 Respostas

C

Opa,
voce pode usar o evento para captura de teclas pressionadas. Atraves da Interface KeyListener, do java.awt.
Aqui segue um exemplo

public class TEste implements KeyListener {

	public void keyPressed(KeyEvent arg0) {
	}

	public void keyReleased(KeyEvent arg0) {
	}

	public void keyTyped(KeyEvent arg0) {

	}

}
S

Olá,
fiz um exemplo básico no netBeans pra exemplificar o método requestFocusInWindos(). Quando você apertar a tecla ‘enter’ com o cursor no jTextField1, o foco irá para o outro campo(jTextField2).

Código:

public class JFrameSerjaum extends javax.swing.JFrame {
   
    /** Creates new form JFrameSerjaum */
    public JFrameSerjaum() {
        initComponents();
        this.setTitle("Teste");
        this.setBounds(200,200,200,200);
    }
   
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                         
    private void initComponents() {
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();

        getContentPane().setLayout(null);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jTextField1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField1ActionPerformed(evt);
            }
        });

        getContentPane().add(jTextField1);
        jTextField1.setBounds(10, 10, 69, 19);

        getContentPane().add(jTextField2);
        jTextField2.setBounds(10, 40, 70, 19);

        pack();
    }// </editor-fold>                       

    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        jTextField2.requestFocusInWindow();
    }                                           
   
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new JFrameSerjaum().setVisible(true);
            }
        });
    }
   
    // Variables declaration - do not modify                     
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    // End of variables declaration                   
   
}

Esperto ter ajudado!

S

valeu cara deu certo sim, só o método requestFocusInWindow(); resolveu, era este método que eu estava procurando, valeu!!!

Criado 24 de setembro de 2007
Ultima resposta 25 de set. de 2007
Respostas 3
Participantes 3