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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Evento del JFrame
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Evento del JFrame  (Leído 14,613 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Evento del JFrame
« en: 12 Junio 2011, 00:44 am »

Buenas señores del Foro desearia que me dieran una manita con esto necesito abrir una ventana con  eventos del teclado por ejemplo.
 abro mi JFrame como ventana ´principal y luego preciono "CTL + 1 " me abra una ventana  luego presiono "CTL + 2 " me abra otra ventana y asi ...........como podria implementar el metodo .................un ejemplo profabor


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Evento del JFrame
« Respuesta #1 en: 12 Junio 2011, 06:05 am »

Lo unico que se me ocurrio fue lo siguiente.

Código
  1. .
  2. .
  3. .
  4. addKeyListener(new java.awt.event.KeyAdapter() {
  5.            public void keyPressed(java.awt.event.KeyEvent evt) {
  6.                formKeyPressed(evt);
  7.            }
  8.        });
  9. .
  10. .
  11. .
  12.  
  13. private void formKeyPressed(java.awt.event.KeyEvent evt) {
  14.        if(evt.isControlDown()){
  15.            if(evt.getKeyCode()==49)
  16.            System.out.println("ctrl+1");
  17.        }
  18.    }
  19.  

Colocas el evento de keypressed al jframe y en tu método primero verificas si la tecla que se oprimio fue ctrl y despues si fue el número 1 (en ascii es el valor 49)

si se cumplen esas dos condiciones entonces realizas la llamada a tu ventana.

El problema es que cuando tengas mas componentes sobre el jframe donde tengas el evento no te va a funcionar.

Tal vez no sea la forma correcta, pero es una posible solucion.

Saludos.


En línea

abc
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Evento del JFrame
« Respuesta #2 en: 12 Junio 2011, 06:47 am »

groso men  funciona pero hay algo que no manyo bien esa parte del codigo la sacastes con el editor del netbeans, pero que pasa si quiero implementarlo a mano que iria en components para que escuche los eventos del teclado esto :
Código
  1.  this.addKeyListener(this);
  2.  
eso iria o cual ?????
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Evento del JFrame
« Respuesta #3 en: 12 Junio 2011, 07:14 am »

 :¬¬

Código
  1. import javax.swing.JFrame;
  2. import java.awt.event.KeyAdapter;
  3. import java.awt.event.KeyEvent;
  4. import java.awt.FlowLayout;
  5. import java.awt.event.ActionListener;
  6. import java.awt.Dimension;
  7. import java.awt.event.KeyListener;
  8. import javax.swing.WindowConstants;
  9.  
  10. public class EventosJFrame extends JFrame implements KeyListener {
  11.  
  12. public static void main(String args[]) {
  13.        new EventosJFrame().setVisible(true);
  14.    }
  15.  
  16.    public EventosJFrame() {
  17.        iniciarInterfaz();
  18.    }                
  19.  
  20.    private void iniciarInterfaz() {
  21.  
  22.        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  23.        setMinimumSize(new Dimension(100, 100));
  24.        addKeyListener(this);
  25.        getContentPane().setLayout(new FlowLayout());
  26.  
  27.        pack();
  28.    }
  29.  
  30.    public void keyPressed(KeyEvent evt){
  31. if(evt.isControlDown()){
  32.            if(evt.getKeyCode()==49)
  33.            System.out.println("ctrl+1");
  34.        }
  35. }
  36.  
  37. public void keyReleased(KeyEvent evt){
  38. }
  39.  
  40. public void keyTyped(KeyEvent evt){
  41. }        
  42. }
  43.  
En línea

abc
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Evento del JFrame
« Respuesta #4 en: 12 Junio 2011, 10:19 am »

esto iria :D   en el constructor
Código
  1. addKeyListener(new java.awt.event.KeyAdapter() {
  2.  
  3.            public void keyPressed(java.awt.event.KeyEvent evt) {
  4.                eventos_teclado(evt);
  5.            }
  6.        });
  7.  

el resto lo implemenaria dependiendo que evento deseo que ocurra ahora mi  duda es la siguiente porque en algunos casos no ocurre el evento solo cuando la ventana esta sin componentes ocurres esos eventos pero cuando esta con componentes como Jtextfield o combobox ya no ocurre nada de los eventos que uno les implemnta a que se deve o hay algun metodo que me falte llamar
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Evento del JFrame
« Respuesta #5 en: 12 Junio 2011, 10:27 am »

encontre esto en google
Código
  1. Usted tendría que agregar la clave de la escucha exactamente el componente que tiene el foco (muchos componentes son en realidad compuestos).
  2.  

como haria para colocar el componente foco al JFrame para que escuche el evento
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Evento del JFrame
« Respuesta #6 en: 12 Junio 2011, 16:27 pm »

cuando esta con componentes como Jtextfield o combobox ya no ocurre nada de los eventos que uno les implemnta a que se deve o hay algun metodo que me falte llamar

Creo que que ya lo habia mencionado antes.

El problema es que cuando tengas mas componentes sobre el jframe donde tengas el evento no te va a funcionar.


Utiliza requestFocus

Código
  1. addWindowListener( new WindowAdapter() {
  2.    public void windowOpened( WindowEvent e ){
  3.     requestFocus();
  4.      }
  5.    } );
  6.  


Saludos.
« Última modificación: 3 Septiembre 2015, 18:42 pm por 1mpuls0 » En línea

abc
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Evento del JFrame
« Respuesta #7 en: 12 Junio 2011, 17:41 pm »

todo me funciona ok gracias por el requestFocus pero desearia que ocurriera todos los eventos cuando presiono Escape mira
Código
  1. private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
  2.  
  3.        switch(evt.getKeyCode()){
  4.            case KeyEvent.VK_ESCAPE :
  5.                System.out.println("mapers ");
  6.               this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  7.                break;
  8.  
  9.  
  10.        }
  11.        // TODO add your handling code here:
  12.    }                              
  13.  
  14.  


me  imprime en pantalla pero no ejecuta la linea para cerrar la ventana :D a que se deve esto
« Última modificación: 12 Junio 2011, 17:55 pm por mapers » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Evento del JFrame
« Respuesta #8 en: 12 Junio 2011, 18:33 pm »

Intenta con
Código
  1. System.exit(0);

Código
  1. private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
  2.  
  3.        switch(evt.getKeyCode()){
  4.            case KeyEvent.VK_ESCAPE :
  5.                System.out.println("mapers ");
  6.               System.exit(0);
  7.                break;
  8.  
  9.  
  10.        }
  11.        // TODO add your handling code here:
  12.    }                              
  13.  
  14.  

Código
  1. this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
Es una propiedad del jframe que se supone ya debiaste haber definido desde antes.

Saludos.
En línea

abc
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: Evento del JFrame
« Respuesta #9 en: 12 Junio 2011, 19:15 pm »

ese si funciona men pero solo deseo que se me cierre la ventana que tengo presente y no todas las ventanas :D por eso uso
Código
  1. this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  2.  

pero al parecer no funciona pero si funciona
Código
  1. System.exit(0);
  2.  

no existira otro metodo parecido al primero en el que solo pueda cerrar la ventan del evento y que no s em cierre toda mi aplicacion ........................
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con 2 JFrame plz
Java
visualfree 3 5,077 Último mensaje 24 Abril 2009, 05:03 am
por visualfree
JFrame MDI
Java
[GB] 0 3,250 Último mensaje 23 Noviembre 2009, 23:34 pm
por [GB]
JFrame « 1 2 »
Java
nerckos 10 8,678 Último mensaje 8 Mayo 2010, 15:58 pm
por nerckos
ayuda con jframe
Java
include (); 4 2,724 Último mensaje 7 Noviembre 2012, 05:34 am
por ChavalChavito
Hilos con JFrame.
Java
Didy 0 1,743 Último mensaje 13 Mayo 2013, 15:10 pm
por Didy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines