Desenvolvedor e Analista de Sistemas | IFPA

sexta-feira, 11 de outubro de 2013

Fechando um JFrame, JDialog ou JInternalFrame apertando a tecla "ESC"

com 0 Comentário
Bem, esse exemplo demonstra como fechar uma janela, informando qualquer uma tecla, neste caso, foi escolhido a tecla "ESC", veja:

  1. import java.awt.event.ActionEvent;  
  2. import java.awt.event.KeyEvent;  
  3. import javax.swing.*;  
  4.    
  5. /**  
  6.  * @author Sekkuar  
  7.  *  
  8.  */    
  9. public class Janela extends JFrame  {  
  10.          
  11.     protected Janela() {  
  12.           
  13.         KeyStroke escapeKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0false);  
  14.         Action escapeAction = new AbstractAction() {  
  15.   
  16.             @Override  
  17.             public void actionPerformed(ActionEvent e) {  
  18.                 fechar();  
  19.             }  
  20.         };  
  21.         getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeKeyStroke, "ESCAPE");  
  22.         getRootPane().getActionMap().put("ESCAPE", escapeAction);  
  23.     }  
  24.       
  25.     protected Janela(String titulo) {  
  26.         this();  
  27.         this.setTitle(titulo);  
  28.     }  
  29.   
  30.     /** 
  31.      * Pede para a Janela ser fechada, fechando as Janelas filhas 
  32.      * este método deve ser sobreescrito se a Janela possuir 
  33.      * outras Janelas filhas, ou se ela precisar de uma confirmação para ser fechada. 
  34.      *  
  35.      * @return true se a janela foi fechada, senão false 
  36.      */  
  37.     public boolean fechar() {  
  38.         this.dispose();  
  39.         return true;  
  40.     }

+1

0 comentários :

Postar um comentário

Total de visualizações