Pessoal estou querendo capturar uma tecla e a partir dela chamar um método. O problema é que a maioria dos exemplos na internet usam JFrame e eu estou usando JOptionPane. A maioria dos exemplos que achei são assim:
O problema é o parâmetro. Preciso chamar esse método em outra classe, a Gui. Porém, quando chamo não sei o que colocar no parâmetro. Já tentei criar uma variável KeyEvent “e” e depois jogá-la como parâmetro, mas o programa diz que é necessária a inicialização da mesma. Quando inicializo (null) ele dá erro ao compilar. Alguém poderia me ajudar? Quero chamar esse método no main.
Qual seu objeto exatamente ao capturar a tecla digitada? O que espera fazer com o valor da tecla?
O JOptionPane geralmente é uma janela modal simplificada. Você pode tentar estendê-la mas, se está tentando criar uma aplicação com uma janela com várias funcionalidades, melhor usar outras classes mais apropriadas, como JFrame ou JDialog.
Abraço.
TavinhoBRMG
Olá obrigado pela resposta. Meu objetivo é o seguinte: criar um programa que exibindo um menu cheio de opções como: “1 - Cadastrar” capture a tecla e compare, e se ela for neste caso, igual a 1, então o programa vai chamar o método de cadastro, nada muito complicado. Esse programa se trata de uma atividade onde um dos requerimentos é o uso de JOptionPane.
TerraSkilll1 like
O exercício exige que você use captura de teclas (keypress, etc), ou é só algo que você acharia legal fazer?
Se não é obrigatório, recomendo não complicar e usar o JOptionPane.showInputDialog, capturando o que o usuário validar e executando as ações de acordo. Se ele digitar 1, vai pra “Cadastrar”, e assim por diante. Se ele digitar uma opção inválida, só exibir as mesmas opções de novo. Nesse momento, foque mais em concluir o exercício.
Note que, sem precisar capturar teclas ou estender o JOptionPane, você pode fazer várias coisas relativamente complexas. Veja os exemplos na documentação (link).
Abraço.
TavinhoBRMG
Não é um requerimento, refletindo aqui realmente não tem necessidade de complicar tanto Obrigado pela ajuda!!