Autor
|
Tema: Duda Eventos teclas F1, F2, F3. etc (Leído 7,683 veces)
|
ZedGe
Desconectado
Mensajes: 154
|
Bueno me estoy iniciando en Swing y quisiera hacer lo siguiente... tengo un botón que al ser presionado cierra el frame public void actionPerformed(ActionEvent e) { if (e.getSource()==BotonEscape) { System.exit(0); } } Lo que necesito es un código que al apretar la tecla F1 haga automáticamente ese evento, o si creo un botón de imprimir, que al apretar el F2 imprima automáticamente Es para comodidad crear estos atajos de teclado, es decir, que si presiono el boton o F1 realize la misma accion. Logre hacerlo con otras teclas pero con estas "Especiales" no. Encontré este código import java.awt.*; import java.applet.Applet; import java.awt.event.KeyEvent; import java.awt.event.KeyListener;
public class asdasdasd extends Applet { Label lb1; TextField t1;
public void init () { t1 = new TextField(20); add(t1);
lb1 = new Label(" "); add(lb1);
t1.addKeyListener(new KeyListener() { int perro = 10; char caracter; String cadena; public void keyTyped(KeyEvent eve) { caracter = eve.getKeyChar(); cadena = String.valueOf(caracter); lb1.setText(cadena); }
public void keyPressed(KeyEvent eve) { if (eve.getKeyCode() == KeyEvent.VK_ALT){ cadena = "alt";}
if (eve.getKeyCode() == KeyEvent.VK_F1) cadena = "F1"; if (eve.getKeyCode() == KeyEvent.VK_F2) cadena = "F2"; lb1.setText(cadena);
}
public void keyReleased(KeyEvent eve) {} }); } } El problema es que debe ir si o si el textfield para que pueda leer la tecla.... alguien me podria ayudar?
|
|
|
En línea
|
|
|
|
ZedGe
Desconectado
Mensajes: 154
|
Este es mi código, lo he puesto pero no me funciona :S /*
package puntodeventa;
import java.awt.event.*; import javax.swing.*;
public class Prueba extends JFrame implements ActionListener { JButton botonVentaDeContado; public Prueba() { setLayout(null); botonVentaDeContado=new JButton("Consultar Producto"); botonVentaDeContado.setBounds(300,250,100,30); add(botonVentaDeContado); botonVentaDeContado.addActionListener(this); addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent arg0) {} @Override public void keyReleased(KeyEvent arg0) {} @Override public void keyPressed(KeyEvent event) { if(event.getKeyCode() == KeyEvent.VK_F1) System.exit(0); } }); } public void actionPerformed(ActionEvent e) { if (e.getSource()==botonVentaDeContado) { System.exit(0); } } public static void main(String[] ar) { Prueba formulario1=new Prueba(); formulario1.setBounds(0,0,450,350); formulario1.setVisible(true); } }
|
|
|
En línea
|
|
|
|
ZedGe
Desconectado
Mensajes: 154
|
me faltaba ponerle lo siguiente botonVentaDeContado.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent arg0) {} @Override public void keyReleased(KeyEvent arg0) {} @Override public void keyPressed(KeyEvent event) { if(event.getKeyCode() == KeyEvent.VK_F1) System.exit(0); } });
|
|
« Última modificación: 18 Noviembre 2011, 01:52 am por Leyer »
|
En línea
|
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
Haber eso no funcionara si cambias el focus a otro componente usando el KeyEventDispatcher import java.awt.FlowLayout; import java.awt.KeyEventDispatcher; import java.awt.KeyboardFocusManager; import java.awt.event.*; import javax.swing.*; private static final long serialVersionUID = 1L; public Prueba() { botonVentaDeContado =new JButton("Consultar Producto"); botonVentaDeContado.setBounds(300,250,100,30); add(botonVentaDeContado); botonVentaDeContado.addActionListener(this); KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(this); } if (e. getSource()==botonVentaDeContado ) System. exit(0); } public static void main (String[] ar ) { Prueba formulario1=new Prueba(); formulario1.setBounds(0,0,450,350); formulario1.setVisible(true); } @Override public boolean dispatchKeyEvent (KeyEvent arg0 ) { return false; } }
|
|
« Última modificación: 18 Noviembre 2011, 01:48 am por Leyer »
|
En línea
|
|
|
|
ZedGe
Desconectado
Mensajes: 154
|
Y cual seria la diferencia entre los 2 metodos?? aun que son algo parecidos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda sobre teclas
Programación Visual Basic
|
pungados
|
2
|
1,532
|
21 Diciembre 2007, 20:13 pm
por pungados
|
|
|
Campurar eventos de las teclas
Java
|
HardieVon
|
5
|
3,684
|
12 Junio 2009, 06:14 am
por Amerikano|Cls
|
|
|
Duda con punsado de teclas.
Programación Visual Basic
|
Castiblanco
|
4
|
2,899
|
16 Junio 2010, 20:49 pm
por BlackZeroX
|
|
|
[Solucionado][Duda][C#]Eventos y delegados
.NET (C#, VB.NET, ASP)
|
final_frontier
|
5
|
5,680
|
17 Agosto 2010, 14:55 pm
por [D4N93R]
|
|
|
duda con eventos de boton
Java
|
m@o_614
|
1
|
1,990
|
8 Febrero 2015, 03:37 am
por 3n31ch
|
|