Olá pessoal,
estou usando um JFrame e quando teclar uma determinada tecla, quero que ele faça algo, no caso do exemplo, exiba uma JOptionPane.
Com o código abaixo, funciona, o problema é se eu adiciono um JTextfield ou um JTable, não ocorre mais a exibição do JOptionPane. Como resolvo isso?
import javax.swing.JOptionPane;
public class TelaPrincipal extends javax.swing.JFrame {
public TelaPrincipal() {
initComponents();
setLocationRelativeTo(null);
}
@SuppressWarnings("unchecked")
private void formKeyPressed(java.awt.event.KeyEvent evt) {
int tecla = evt.getKeyCode();
if(tecla == 112){
JOptionPane.showMessageDialog(rootPane, "F1");
}else if(tecla == 113){
JOptionPane.showMessageDialog(rootPane, "F2");
}else{
JOptionPane.showMessageDialog(rootPane, "Outra tecla");
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaPrincipal().setVisible(true);
}
});
}
// Variables declaration - do not modify
// End of variables declaration
}
Para criar o evento pelo Netbeans fiz:
“Botao direito no JFrame > Eventos > Key > KeyPressed[formKeyPressed]”
No aguardo!