Foros del Web » Programación para mayores de 30 ;) » Java »

Como obtener jinternalframe que tiene el foco

Estas en el tema de Como obtener jinternalframe que tiene el foco en el foro de Java en Foros del Web. Buenos dias/tarde/noches. Estoy intentando realizar una modificacion de un codigo que no es mio (Un amigo mepidio que ampliara un software que esta desarrollando para ...
  #1 (permalink)  
Antiguo 26/07/2019, 12:12
 
Fecha de Ingreso: junio-2013
Ubicación: buenos aires
Mensajes: 3
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Como obtener jinternalframe que tiene el foco

Buenos dias/tarde/noches.

Estoy intentando realizar una modificacion de un codigo que no es mio (Un amigo mepidio que ampliara un software que esta desarrollando para una cooperativa).

En cuestion estoy intentando saber que jinternalframe esta en foco (por que puede haber mas de uno abierto).

Este es el codigo con el que estoy realizando las pruebas:

Código:
    private void mniImprimirActionPerformed(java.awt.event.ActionEvent evt) {                                            
        Component TblFocus = FocusManager.getCurrentManager().getFocusOwner();
        if(frmClientes != null && frmClientes.isFocusOwner()){
         
            JOptionPane.showMessageDialog(this, "frm clientes");}else{JOptionPane.showMessageDialog(this, "frm clientes after ELSE");}
        if(frmCuentas != null && frmCuentas.isFocusOwner()){
    
            JOptionPane.showMessageDialog(this, "frm cuentas");}
        if(frmMovimientos != null && frmMovimientos.isFocusOwner()){

            JOptionPane.showMessageDialog(this, "frm movimientos");}
        if(frmPrestamos != null && frmPrestamos.isFocusOwner()){

            JOptionPane.showMessageDialog(this, "frm prestamos");}
        if(frmCuotas != null && frmCuotas.isFocusOwner()){

            JOptionPane.showMessageDialog(this, "frm cuotas");}
        
    }
Estoy preguntando si no es nulo y si es propietario del foco que lo llame, pero esto no esta pasando.

El el primer IF :

Código:
        if(frmClientes != null && frmClientes.isFocusOwner()){
           
            JOptionPane.showMessageDialog(this, "frm clientes");}else{JOptionPane.showMessageDialog(this, "frm clientes after ELSE");}
si se ejecuta la codigo despues del "ELSE" , pero no entiendo por que, si el frmClientes si esta en foco (sea o no el unico abierto pasa esto)

En este momento sigo intentando y probando soluciones, si alguien puede darme una mano con esto me salvaria!

Gracias.
  #2 (permalink)  
Antiguo 29/07/2019, 04:09
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: Como obtener jinternalframe que tiene el foco

mira esta llamada a ver si te viene mejor

KeyboardFocusManager.getCurrentKeyboardFocusManage r().getFocusOwner()

Si el objeto que tiene el foco está dentro de un jinternalframe intenta usar getParent() para obtener el contenedor del objeto hasta llegar al frame que quieras.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: swing
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:44.