Buenas soy nuevo en esta comunidad y me gustaría que me ayudaran en algo, como se hace para minimizar y maximizar una aplicación echa en java con el teclado ? por ejemplo cuando le den 'R' se comienza a ejecutar y se minimiza, ella se estará ejecutando en un bucle infinito controlado por hilo y mientras se este ejecutando y este minimizada si le dan 'S' se detenga y se maximice ?
Aqui te explican cómo funcionan las operaciones de maximizar/minimizar en java: http://lefunes.wordpress.com/2008/02/18/iniciar-maximizado-o-minimizado-un-jframe/
Dichas operaciones también se pueden ejecutar cuando lees una entrada del teclado.
Saludos.
Cita de: Alien-Z en 19 Agosto 2013, 14:19 PM
Aqui te explican cómo funcionan las operaciones de maximizar/minimizar en java: http://lefunes.wordpress.com/2008/02/18/iniciar-maximizado-o-minimizado-un-jframe/
Dichas operaciones también se pueden ejecutar cuando lees una entrada del teclado.
Saludos.
Gracias pero eso no es lo que ando buscando, lo que quiero es que cuando le den a la tecla "X" ( cuando digo X es cualquier tecla definida por mi ) se minimice y comience a hacer las operaciones para lo que esta programado y mientras se este ejecutando si le dan a la tecla "X" (otra tecla definida por mi) el programa deje de ejecutarse y se maximice
Exactamente que deseas hacer.
El tema va más allá de lo que se piensa.
A veces es un poco complicado por el tema del focus.
Para las hotkeys en java existe la clase.metodo KeyStroke.getKeyStroke.
Y cuando digo exactamente me refiero a que detalles todo, es decir, vas a tener un jframe, vas a tener botones, labels, etc?.
Edito.
También puedes colocar un evento al jframe en este caso sería keyPressed.
Con keyPressen sería así para minimizar.
if(evt.getKeyCode()==82){
this.setExtendedState(javax.swing.JFrame.ICONIFIED);
}
El problema con esta alternativa es que piedes el foco del jframe. Entonces no serviría para el proposito.
Intenta con Windows Listener, seguro te funciona.
http://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html
Saludos.
Cita de: Darhius en 19 Agosto 2013, 17:12 PM
Exactamente que deseas hacer.
El tema va más allá de lo que se piensa.
A veces es un poco complicado por el tema del focus.
Para las hotkeys en java existe la clase.metodo KeyStroke.getKeyStroke.
Y cuando digo exactamente me refiero a que detalles todo, es decir, vas a tener un jframe, vas a tener botones, labels, etc?.
Edito.
También puedes colocar un evento al jframe en este caso sería keyPressed.
Con keyPressen sería así para minimizar.
if(evt.getKeyCode()==82){
this.setExtendedState(javax.swing.JFrame.ICONIFIED);
}
El problema con esta alternativa es que piedes el foco del jframe. Entonces no serviría para el proposito.
Intenta con Windows Listener, seguro te funciona.
http://docs.oracle.com/javase/tutorial/uiswing/events/windowlistener.html
Saludos.
Lo que quiero hacer es algo parecido a un mouse recorder pero que no este limitado a cierta cantidad de intentos, si no que estará de manera ilimitada por medio de hilos con intervalos de un segundo pero el problema es que al comenzarlo ya sea con el keyPressen o con un boton, el problema es a la hora de detenerle ya que no podre utilizar el mouse para hacerlo :huh:
Cita de: ThePiuner en 20 Agosto 2013, 00:56 AM
Lo que quiero hacer es algo parecido a un mouse recorder pero que no este limitado a cierta cantidad de intentos, si no que estará de manera ilimitada por medio de hilos con intervalos de un segundo pero el problema es que al comenzarlo ya sea con el keyPressen o con un boton, el problema es a la hora de detenerle ya que no podre utilizar el mouse para hacerlo :huh:
Por qué dices eso?, no sé si el programa que mencionas lo hace o entendiste mal algo que dije.
La verdad no sé que hace mouse recorder pero tengo una idea de lo que deseas hacer.
Saludos.
Buenas... este codigo sirve para captar las teclas asi la aplicacion pierda el foco espero te sirva
public class GlobalKeyListenerExample implements NativeKeyListener {
public void nativeKeyPressed(NativeKeyEvent e) {
System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
if (e.getKeyCode() == NativeKeyEvent.VK_ESCAPE) {
GlobalScreen.unregisterNativeHook();
}
}
public void nativeKeyReleased(NativeKeyEvent e) {
System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}
public void nativeKeyTyped(NativeKeyEvent e) {
System.out.println("Key Typed: " + e.getKeyText(e.getKeyCode()));
}
public static void main(String[] args) {
try {
GlobalScreen.registerNativeHook();
}
catch (NativeHookException ex) {
System.err.println("There was a problem registering the native hook.");
System.err.println(ex.getMessage());
System.exit(1);
}
//Construct the example object and initialze native hook.
GlobalScreen.getInstance().addNativeKeyListener(new GlobalKeyListenerExample());
}
}
Cita de: TriBlack en 20 Agosto 2013, 16:52 PM
Buenas... este codigo sirve para captar las teclas asi la aplicacion pierda el foco espero te sirva
Por el código que veo es una librería externa, y al parecer está hecho con JNI.
Bueno mientras funcione está bien xD
Cita de: Darhius en 20 Agosto 2013, 17:01 PM
Por el código que veo es una librería externa, y al parecer está hecho con JNI.
Bueno mientras funcione está bien xD
Jeje si es con la librera JNativeHook 1.1.4 aqui la info https://code.google.com/p/jnativehook/
Creo que eso le servirá ^-^