Ola, estou querendo fazer um Menu de Configurações para meu Jogo. E geralmente a tecla que abre o Menu e a tecla ESC eu ja sei como eu faço para abrir o JPanel novo so não como detectar se a tecla ESC foi pressionada.
Ao pressionar a Tecla ESC abrir um Novo JPanel
3 Respostas
Se estiver usando javax.swing pode pegar o código exemplo:
JPanel panel = new JPanel();
JFrame frame = new JFrame("Meu Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.setSize(300, 200);
frame.setVisible(true);
frame.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
if(KeyEvent.VK_ESCAPE == e.getKeyCode())
System.out.println("Faça oque quiser aqui");
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
});
Se estiver usando Swing, o ideal é usar a classe KeyStroke para isso:
JRootPane rootPane = new JRootPane();
KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
rootPane.registerKeyboardAction(actionListener, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
Onde actionListener contém o actionListener que será disparado quando o esc for pressionado (o que abriria o painel). Esse método é geralmente mais confiável do que o KeyListener pois irá ser aplicado mesmo que outros componentes capturem o foco ou consumam o evento.
PS: Tive que corrigir o português do seu tópico. “Faço” não se escreve com “ss” e pressionado não se escreve com “c”. Por favor, procure usar o português correto no fórum.
Manu obrigado ajudou muito.
Criado 10 de fevereiro de 2016
Ultima resposta 10 de fev. de 2016
Respostas 3
Participantes 3