Textfield

3 respostas
I

Tenho um textfield e quero que assim que ele receba o foco, se eu clicar no F1 ele chama uma ação, se clicar no F2 ele chama outra ação, podem me dizer como crio esse atalho…

Agradeço a quém der uma mãozinha!!! :idea:

3 Respostas

edufera10

Usando o netbeans eu criei um jframe e no jfrema eu adicionei um jtextfild

Cliquei com o botão direiro no jtextfild selecionei eventos>key>keypressed

ai no código automatico gerado eu inseri:

if( evt.getKeyCode()== KeyEvent.VK_F1){
    System.out.println("Sequencia de comandos 1");
}        
if( evt.getKeyCode()== KeyEvent.VK_F2){
    System.out.println("Sequencia de comandos 2");
}

A classe completa ficou assim:

package ajudaguj;

import java.awt.event.KeyEvent;


public class KeyPressed extends javax.swing.JFrame {


    public KeyPressed() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jTextField1 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTextField1.setText("jTextField1");
        jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jTextField1KeyPressed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(331, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(269, Short.MAX_VALUE))
        );

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

    private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {
if( evt.getKeyCode()== KeyEvent.VK_F1){
    System.out.println("Sequencia de comandos 1");
}        
if( evt.getKeyCode()== KeyEvent.VK_F2){
    System.out.println("Sequencia de comandos 2");
}
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new KeyPressed().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JTextField jTextField1;
    // End of variables declaration

}
I
edufera10:
Usando o netbeans eu criei um jframe e no jfrema eu adicionei um jtextfild

Cliquei com o botão direiro no jtextfild selecionei eventos>key>keypressed

ai no código automatico gerado eu inseri:

if( evt.getKeyCode()== KeyEvent.VK_F1){
    System.out.println("Sequencia de comandos 1");
}        
if( evt.getKeyCode()== KeyEvent.VK_F2){
    System.out.println("Sequencia de comandos 2");
}

A classe completa ficou assim:

package ajudaguj;

import java.awt.event.KeyEvent;


public class KeyPressed extends javax.swing.JFrame {


    public KeyPressed() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jTextField1 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTextField1.setText("jTextField1");
        jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jTextField1KeyPressed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(331, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(269, Short.MAX_VALUE))
        );

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

    private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {
if( evt.getKeyCode()== KeyEvent.VK_F1){
    System.out.println("Sequencia de comandos 1");
}        
if( evt.getKeyCode()== KeyEvent.VK_F2){
    System.out.println("Sequencia de comandos 2");
}
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new KeyPressed().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JTextField jTextField1;
    // End of variables declaration

}

Valeu amigão pela ajuda!!!

edufera10

tranquilo kra precisando tamo ai.

Criado 8 de agosto de 2009
Ultima resposta 10 de ago. de 2009
Respostas 3
Participantes 2