Fórum Eventos do Teclado #573571
08/01/2017
0
Gente estou com uma grande dificuldade de achar o erro nesse código JAVA na qual estou usando a IDE netBeans 8.1.
Bom o meu problema é que estou desenvolvendo um software de de vendas que não seja necessária a ação do mouse para utilizar o meu programa......
Meu problema: Imagine que estou na página inicial onde um jLabel fica piscando, indicando que para começar a usar o meu programa eu tenha que pressionar F1 (Até aqui tá tudo Ok), eu aperto F1 e vou para tela de Menu......> nessa tela eu utilizei esse código para capturar a ação do teclado e ir para tela de Menu:
*
private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_F1) {
this.setEnabled(false);
new TelaMenu(this).setVisible(true);
*
Até aqui tudo ok e eu entro na tela de menu.
Bem como eu disse o meu programa não deve utilizar a ação do mouse. Então se eu quero voltar daqui (Tela de Menu) para a tela anterior (Tela Inicial), basta eu pressionar ESC para isso né? Pois bem, na tela de menu eu utilizo o mesmo recurso:
private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_ESCAPE){
dispose();
this.telaInicial.setEnabled(true);
}
*
Porém na hora da execução, eu pressiono ESC e nada acontece..... Nada, Nada, Nada > É como se eu nem tivesse posto nada na janela para capturar o teclado...
Alguém sabe porque isso está acontecendo?
Lembro que para todas as janelas do meu sistema, exatamente em todas eu devo capturar eventos do teclado...Seja eles: ENTER/ ESC /CRTL + F5/ F6/ ALT + F4/ etc.....
Lembro também que já experimentei usar implementação KeyListener. Porém, de nada adiantou......
Bom o meu problema é que estou desenvolvendo um software de de vendas que não seja necessária a ação do mouse para utilizar o meu programa......
Meu problema: Imagine que estou na página inicial onde um jLabel fica piscando, indicando que para começar a usar o meu programa eu tenha que pressionar F1 (Até aqui tá tudo Ok), eu aperto F1 e vou para tela de Menu......> nessa tela eu utilizei esse código para capturar a ação do teclado e ir para tela de Menu:
*
private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_F1) {
this.setEnabled(false);
new TelaMenu(this).setVisible(true);
*
Até aqui tudo ok e eu entro na tela de menu.
Bem como eu disse o meu programa não deve utilizar a ação do mouse. Então se eu quero voltar daqui (Tela de Menu) para a tela anterior (Tela Inicial), basta eu pressionar ESC para isso né? Pois bem, na tela de menu eu utilizo o mesmo recurso:
private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_ESCAPE){
dispose();
this.telaInicial.setEnabled(true);
}
*
Porém na hora da execução, eu pressiono ESC e nada acontece..... Nada, Nada, Nada > É como se eu nem tivesse posto nada na janela para capturar o teclado...
Alguém sabe porque isso está acontecendo?
Lembro que para todas as janelas do meu sistema, exatamente em todas eu devo capturar eventos do teclado...Seja eles: ENTER/ ESC /CRTL + F5/ F6/ ALT + F4/ etc.....
Lembro também que já experimentei usar implementação KeyListener. Porém, de nada adiantou......
André Souza
Curtir tópico
+ 0
Responder
Posts
08/01/2017
André Souza
consegui achar o erro..... quando eu instanciava minha tela de menu, o foco não estava nela.... pois ela apresentava vários JButtons...... Eu incrivelmente percebi que para capturar o evento do teclado eu tinha que dar foco na tela assim que se iniciasse hehehehehe
Então taí o código para isso:
*
private void formWindowActivated(java.awt.event.WindowEvent evt) {
this.requestFocus();
}
Então taí o código para isso:
*
private void formWindowActivated(java.awt.event.WindowEvent evt) {
this.requestFocus();
}
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)