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));
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));
No hay comentarios:
Publicar un comentario