Es posible manipular un CardLayout desde otra clase?

Iniciado por CartosP, 29 Marzo 2018, 15:07 PM

0 Miembros y 1 Visitante están viendo este tema.

CartosP

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.

k3ym4n


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....

}
}