Seguidores

MIS WEBS



Mostrando entradas con la etiqueta KeyEvent. Mostrar todas las entradas
Mostrando entradas con la etiqueta KeyEvent. Mostrar todas las entradas

viernes, 16 de marzo de 2018

CONTROLES DE TECLADO


 


Los controles de teclado (Ctrl+c,ctrl+x,Alt+c…)los podíamos hacer directamente, para ello teníamos que utilizar la interface KeyListener e implementar todos sus mentodos o utilizando la clase KeyAdapter e implementando el método necesario:



class EscuchaTeclado implements KeyListener{//oyente
        public void keyPressed(KeyEvent e) {
                int codice=e.getKeyChar();
                System.out.print(e);
        }
        public void keyReleased(KeyEvent e) {  }
        public void keyTyped(KeyEvent e) {}
}



Y luego llamarla desde el constructor del frame:


class Marco_1000 extends JFrame{
         public Marco_1000() {
         EscuchaTeclado tecla = new EscuchaTeclado();
         addKeyListener(tecla);
         ModificaEstados cambio = new ModificaEstados();
         Lamina1000 l1 = new Lamina1000();
         add(l1);
         addWindowStateListener(cambio);
        
         setVisible(true); 
         }
}



 En nuestro caso ya tenemos la acción implementada en addActionListener


segundo.addActionListener(new ActionListener() {
                     public void actionPerformed(ActionEvent e) {
                                       if (segundo.getState()) {
                                               BarraMenu.setVisible(false);
                                       segundo.setText("MOSTRAR MENU PRINCIPAL");
                                       }else {
                                               BarraMenu.setVisible(true);
                                       }
                               }
                        });
                   

Tenemos un atajo que nos presta java, utilizar el método setacelaratorkit y pasarle por parámetros nuestro KeyEvent


segundo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,InputEvent.CTRL_DOWN_MASK));

 KeyEvent sera la letra(a,b,c,f,r,1,2,8....)
 InputEvent sera la letra de control(Ctrl,Alt, tabulador...)



En el siguiente ejemplo conseguiriamos que:
·         Pulsando Ctrl+1 desaparezca el primer menú
·         Pulsando Ctrl+2 desaparezca el segundo menú
·         Pulsando Ctrl+3 desaparezca el tercer menú




Primero.addActionListener(new ActionListener() {
                                      public void actionPerformed(ActionEvent e) {
                                               if (Primero.getState()) {
                                               Contador.setVisible(false);
                                               Primero.setText("MOSTRAR MENU CONTADOR");
                                               }else {
                                                        Contador.setVisible(true);
                                               }
                                      }
                            });
                            segundo.addActionListener(new ActionListener() {
                                      public void actionPerformed(ActionEvent e) {
                                               if (segundo.getState()) {
                                                        BarraMenu.setVisible(false);
                                               segundo.setText("MOSTRAR MENU PRINCIPAL");
                                               }else {
                                                        BarraMenu.setVisible(true);
                                               }
                                      }       
                            });
                            tercero.addActionListener(new ActionListener() {
                                      public void actionPerformed(ActionEvent e) {
                                               if (tercero.getState()) {
                                                        COMBO.setVisible(false);
                                               tercero.setText("MOSTRAR MENU TIPO LETRA");
                                               }else {
                                                        COMBO.setVisible(true);
                                               }
                                      }
                            });
                           
                            Primero.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,InputEvent.CTRL_DOWN_MASK));
                            segundo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,InputEvent.CTRL_DOWN_MASK));
                            tercero.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3,InputEvent.CTRL_DOWN_MASK));
                   

Buscar este blog

Sandisk y Western Digital