elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  capturar teclado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: capturar teclado  (Leído 14,685 veces)
sapito169


Desconectado Desconectado

Mensajes: 629



Ver Perfil
capturar teclado
« en: 9 Enero 2009, 07:11 am »

quisiera saber como capturar los eventos del teclado

por ejemplo al presionar escape se sierre la ventana
o al presionar ctrl+m gane el foco un area de texto


En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: capturar teclado
« Respuesta #1 en: 9 Enero 2009, 14:10 pm »

Hola, aquí tienes algunos ejemplos:

http://casidiablo.net/codigo-guis-en-java-eventos-de-mouse-y-teclado/

La idea de todo es implementar la interfaz KeyListener en la clase que quieres que maneje eventos del teclado.

Un saludo.


En línea

sapito169


Desconectado Desconectado

Mensajes: 629



Ver Perfil
Re: capturar teclado
« Respuesta #2 en: 11 Enero 2009, 05:19 am »

no sirve cuando tu Jframe esta cubiero por un monton de paneles
En línea

cyberserver

Desconectado Desconectado

Mensajes: 162


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Re: capturar teclado
« Respuesta #3 en: 11 Enero 2009, 22:12 pm »

Lo que quiere hacer sapito 169 es un  tipo Keylogger.......

Estaria interesante saber como funciona en Java!!! :rolleyes:

Keylogger por software. Contrariamente a las creencias comunes, un keylogger por software es simple de escribir, con un conocimiento de trabajo de C o de C++ y un conocimiento de los API proporcionados por el sistema operativo del objetivo. Los keyloggers del software bajan en las categorías siguientes:

   1. Basado en núcleo: Este método es el más difícil de escribir, y combatir. Tales keyloggers residen en el nivel del núcleo y son así prácticamente invisibles. Derriban el núcleo del OS y tienen casi siempre el acceso autorizado al hardware que los hace de gran alcance. Un keylogger que usa este método puede actuar como conductor del teclado por ejemplo, y accede así a cualquier información mecanografiada en el teclado mientras que va al sistema operativo.
   2. Enganchados: Tales keyloggers enganchan el teclado con las funciones proporcionadas por el sistema operativo. El sistema operativo los activa en cualquier momento en que se presiona una tecla y realiza el registro.
   3. Métodos creativos: Aquí el programador utiliza funciones como GetAsyncKeyState, GetForegroundWindow, etc. Éstos son los más fáciles de escribir, pero como requieren la revisión el estado de cada tecla varias veces por segundo, pueden causar un aumento sensible en uso de la CPU y pueden ocasionalmente dejar escapar algunas pulsaciones de teclas
« Última modificación: 11 Enero 2009, 22:14 pm por cyberserver » En línea






-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: capturar teclado
« Respuesta #4 en: 11 Enero 2009, 23:51 pm »

La única forma de hacer un keylogger en java es con JNI, si eso es lo que quieres.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
joelmanx

Desconectado Desconectado

Mensajes: 38


programador java por si


Ver Perfil WWW
Re: capturar teclado
« Respuesta #5 en: 16 Septiembre 2010, 21:03 pm »

hola a todos, seria interesante que suban un ejemplo de cpatura de eventos de teclado del SO, como lo decian.

Es posible ligar esos eventos a funciones?, para hacer visible o invisible una aplicacion swing?.
En línea

proyectos libres que desarrollo, si quieres colaborar, únete y hagamos un buen aporte.

http://guitarragnu.sourceforge.net/ (Software Educativo)
http://evsigmapserverj.sourceforge.net/ ( Software GIS, SIG, Mapserver)
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: capturar teclado
« Respuesta #6 en: 16 Septiembre 2010, 21:32 pm »

Si revisan el post con sources interesantes es probable que encuentren el keylogger que el compañero LEYER realizo con JNI.

Saludos
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: capturar teclado
« Respuesta #7 en: 17 Septiembre 2010, 04:10 am »

Hola sapito169

buscas algo como esto?  :(

Código
  1. import javax.swing.*;
  2. import java.awt.event.*;
  3.  
  4. public class PanelDeTeclado extends JPanel implements KeyListener, MouseListener {
  5.  
  6.    public PanelDeTeclado(){
  7.        this.addMouseListener(this);
  8.        this.addKeyListener(this);
  9.    }
  10.  
  11.    @Override
  12.    public boolean isFocusable(){
  13.        return true;
  14.    }
  15.  
  16.    public void mousePressed( MouseEvent e ) {}
  17.    public void mouseReleased( MouseEvent e ) {}
  18.    public void mouseClicked( MouseEvent e ) {}
  19.  
  20.    public void mouseEntered( MouseEvent e ) {
  21.        this.requestFocus();
  22.    }
  23.  
  24.    public void mouseExited( MouseEvent e ) {}
  25.  
  26.    public void keyReleased( KeyEvent e ) {
  27.    }
  28.  
  29.    public void keyTyped( KeyEvent e ) {
  30.    }
  31.  
  32.    public void keyPressed( KeyEvent e ) {
  33.        System.out.println("Usted ha presionado la tecla: "+e.getKeyText(e.getKeyCode()));
  34.    }
  35.  
  36.    public static void main( String [] args ){
  37.        JFrame f = new JFrame();
  38.        f.getContentPane().add(new PanelDeTeclado());
  39.        f.setSize(400,300);
  40.        f.setVisible(true);
  41.        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  42.    }
  43. }
  44.  

un saludo
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Capturar Pantalla (sin método de teclado) « 1 2 »
Programación C/C++
engel lex 16 10,867 Último mensaje 9 Julio 2010, 05:04 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines