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:
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:
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
}
Usando o netbeans eu criei um jframe e no jfrema eu adicionei um jtextfildCliquei 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!!!
tranquilo kra precisando tamo ai.