Foro de elhacker.net

Programación => Java => Mensaje iniciado por: eduardomanta en 22 Mayo 2010, 21:00 pm



Título: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: eduardomanta en 22 Mayo 2010, 21:00 pm
Hola.. mucho gusto a todos , espero que me puedan ayudar con este problemon :( , lo intentado de muchas formas pero nop funciona. yo soy algo nuevo en java es por eso que tal vez ustedes me pueden ayudar bueno el problema es este.

Tengo un Jframe principal --> Que vendria a hacer mi formulario principal en mi sistema, este jframe tiene un jtoolbar principla que tiene todos los botnes clasicos como : grabar,eliminar etc.

Tengo un Jinternalframe que es hijo de mi formulario principal .

 

Ahora cuando yo cargo mi formulario principal osea el jframe mi jtoolbar principal es invisible esto lo hago el metodo setvisible.

Lo que quiero hacer es que cuando mi jinternalframe hijo se abra desde mi formulario principal  , mi jtoolbarprincipal que se encuentra en el jframe principal sea visible .-> osea setvisible(true)  y cuando el jinterlframe se cierre mi jtoolbar prinicpal sea invisible otra vez .

 Lo intentando con interfaces. pero no me funciona ,

Tambien haciendo herencia ami formulario principal pára acceder a su control pero tampoc funmcion

y por ultimo hize un metodo que me retorne el jtoolbarprincipla y lo llamo desde el formulario hijo y hay le aplico el setvisible pero nada que nada no se desaparece la

bendita barra.

 

Este es un poco de mi código

 

ESTE ES MI CODIGO

EN EL JFRAME FRINCIPAL

--=====================

    public JToolBar f_barra()
    {
               return jtbPrincipal;
    }

en el jinternalframe

 

    private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {                                           
             frm_principal.f_barra().setVisible(true);
 
    }

 

--========== O TAMBIEN ASI  LO HE INTENTADO

MI INTERFAZ

 public interface Ocultar {
  public  void f_ocultar(boolean ver);
}

MI METODO EN EL PRINCIPAAL=====

   public void f_ocultar(boolean  ver )
    {
       this.jtbPrincipal.setVisible(ver);
     
    }

 ==EN ELJINTERNALFRAME HIJO

   private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {                                           

       ((Ocultar)frm_principal).f_ocultar(true);
 
    }

  PERO NADA ME FUNCIONA.!!!!!!!!!! OJALA QUE HA ALGUIEN ME PUEDA AYUDAR GRACIAS ...

ESPERO SUS RESPUESTAS... :(:(


Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: egyware en 22 Mayo 2010, 21:20 pm
No entendi, revisa los eventos que se pueden generar de una ventana como capturarlos y procesarlos talvez te sirva


Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: Leyer en 23 Mayo 2010, 00:08 am
La solucion es agregando un InternalFrameListener

Código
  1.                        internalFrame.addInternalFrameListener(new InternalFrameListener() {
  2. @Override
  3. public void internalFrameClosing(InternalFrameEvent arg0) {
  4. this.toolBar.setVisible(false);
  5. }
  6. @Override public void internalFrameOpened(InternalFrameEvent arg0)      {}
  7. @Override public void internalFrameIconified(InternalFrameEvent arg0)   {}
  8. @Override public void internalFrameDeiconified(InternalFrameEvent arg0) {}
  9. @Override public void internalFrameDeactivated(InternalFrameEvent arg0) {}
  10. @Override public void internalFrameClosed(InternalFrameEvent arg0)      {}
  11. @Override public void internalFrameActivated(InternalFrameEvent arg0)   {}
  12. });

Un Saludo.


Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: eduardomanta en 23 Mayo 2010, 19:01 pm
Pero el Jtoolbar esta en el formulario Principal :S
No en el mismo jinternalframe :S


Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: Leyer en 23 Mayo 2010, 20:25 pm
Bueno 


Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: jezu00 en 23 Mayo 2010, 21:33 pm
Pasa como arguemento del constructor por defecto el Jframe padre al hijo

dato miembro
JFrame a;
public Clase(.....,JFrame padre){
a=padre;
}

y en el metodo que cierre le ventana aparte de dispose() o setvisible(false) añadrs
a.f_ocultar(true)




Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: eduardomanta en 23 Mayo 2010, 22:00 pm
pero como voy a heredar a una variable tipo jframe al método f_ocultar :S ???



Título: Re: ACCEDER A UN CONTROL DE UN JFRAME DESDE UN JINTERNAL FRAME
Publicado por: eduardomanta en 23 Mayo 2010, 22:08 pm
YA ME SALIO GRACIAS POR LAS RESPUESTA
ME GUIE DE LA ULTIMA RESPUESTA
PERO EN VEZ DE PASARLE EL JFRAME PRINCIPAL AL CONSTRUCTOR DEL JINTERNALFRAME HIJO


LE PASE EL JTOOLBAR PRINCIPAL AL CONSTRUCTOR DEL HIJO

Frm_Empleado emple = new Frm_Empleado(this.jtbPrincipal);

Y ME MI JINTERNALFRAME HIJO = SOLO APLICE
SET VISIBLE TRUE O FALSE EN LOS EVENTO DESEADOS

GRACIAS.......... :D  A TODOS