Foro de elhacker.net

Programación => Java => Mensaje iniciado por: CartosP en 29 Marzo 2018, 15:07 pm



Título: Es posible manipular un CardLayout desde otra clase?
Publicado por: CartosP en 29 Marzo 2018, 15:07 pm
Hola amigos, trabajando me e encontrado con un pequeño problema y es el siguiente. Tengo dos clases una contiene la parte visual y la otra se encarga del tratamiento de los datos, la cosa es, que cuando intento manipular desde la clase controladora las tarjetas del CardLayout explota el programa. Puedo hacerlo desde la misma clase, pero lo suyo seria hacerlo desde el controlador. Alguien como se manipulan los CardLayout desde otra clase?
Muchas gracias de antemano y saludos.


Título: Re: Es posible manipular un CardLayout desde otra clase?
Publicado por: k3ym4n en 30 Marzo 2018, 13:17 pm

Public class Ventana extends JFrame{

   //Elementos de la ventana
  .......
  .......
 .........
Controlador controlador;

    public Ventana(){
          JFrame frame = new JFrame(".......");
           etc......
           controlador = new Controlador(this);
            //this es esta ventana que la estas metiendo dentro del controlador y asi podras acceder a lamanipulacion de cualquiera de sus elementos, recuerda que los elementos deben ser publicos, sino , no podras acceder a ellos.
           
     }   
}

/////////////////////////////////////////////////////////////

public class Controlador{
    Ventana ventana;


     public Controlador(Ventana ventana){
          this.ventana = ventana;
       //ahora podras llamar a cualquier elemento dentro de la ventana

       }

     private void modBorderLayout(){
        JPanel panelborde = ventana.(aqui indicas donde se encuentra el border  dentro de la otra clase ya que ahora tienes acceso a todas las variables publicas y a losmetodos publicos)

y lamodificas como te plazca . ocultar cambiar de tamaño ponerle color etc....

}
}