Hola, he visto el código que has pasado. En la clase Sesion tienes lo siguiente:
import java.util.Date;
/**
* Sesiones .
* Almacena fecha,pelicula,nºbutacas y butacas disponibles
* @author (Jorge Campina)
* @version ( version 2.3)
*/
public class Sesión
{
// instance variables
public Date fecha;
private Pelicula pelicula;
private int butacas;
private int butacasDisponibles;
public Sala sala;
/**
* Constructor for objects of class Sesión
* no introducimos nºbutacas porque viene dado por la sala
*/
public Sesión( Date fecha,Pelicula pelicula,int butacasDisponibles,Sala sala)
{
// initialise instance variables
this.fecha = fecha;
this.pelicula = pelicula;
this.butacasDisponibles = butacasDisponibles = sala.butacas;
this.sala = sala;
}
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return
*/
public void actualizarButacasVendidas( int vendidas )
{
butacasDisponibles = sala.butacas - vendidas;
System.out.println("butacas vendidas :" + vendidas);
System.out.println("butacas disponibles : " + butacasDisponibles );
}
public int getButacas()
{ return butacas;
}
public Date getFecha()
{ return fecha;
}
public void mostrarInfoSesion()
{
System.out.println( "Fecha" + fecha );
System.out.println( "pelicula :" + pelicula.titulo );
System.out.println( "capacidad :" + sala.butacas );
System.out.println( "libres :" + butacasDisponibles );
System.out.println( "sala proyección :sala " + sala.id );
}
public String getDetails()
{
return fecha + "/" + pelicula + "/" + butacas + "/" + butacasDisponibles ;
} }
Esto significa que entre los atributos de la clase Sesion tienes un objeto Date, un objeto Pelicula, un tipo primitivo entero butacas, un tipo primitivo entero butacasDisponibles y un objeto Sala.
Para poder crear un objeto Sesion con el banco de pruebas de BlueJ necesitarías primero crear los objetos que son los atributos de Sesion, es decir, necesitarías crear un Date, un Pelicula y un Sala. Luego tendrías que crear el objeto Sesion indicándole los nombres de los objetos previamente creados e indicándole el valor de los enteros para los tipos primitivos (más o menos lo que se explica en
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=496:como-crear-constructores-con-o-sin-parametros-inicializar-objetos-java-ejercicio-ejemplo-resuelto-cu00639b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188)
Problema: mientras que Pelicula y Sala son clases que has definido tú y para las que puedes crear objetos en el banco de pruebas de BlueJ, Date no es una clase que hayas creado tú, sino una clase del api de Java.
Para poder crear el objeto en el banco de pruebas de BlueJ tendrías que ir al menú View, elegir show CodePad
y escribir algo similar a lo siguiente:
import java.util.Date;
new Date(82,4,1,10,30,15)
Una vez pulsas esto te aparece debajo <object reference> (Date) y un icono muy pequeño a la izquierda. Si arrastras ese icono al banco de pruebas te indica "Enter the name for the new object on the object bench", dejas date1 y ya tienes el objeto en el banco de objetos. Puedes manipularlo usando sus métodos si quieres.
Luego creas objetos Pelicula y Sala en el banco de pruebas.
Luego creas un objeto Sesión y donde te pide date le pones el nombre del objeto date creado, es decir, date1, así como los nombres de los otros objetos creados y los valores para los números enteros.
Todo lo anterior es un poco engorroso, es mucho más fácil hacerlo mediante código tal y como lo tienes hecho en la clase Principal.
Nota: si ya lo tienes con date quizás te interese dejarlo, pero en lugar de usar Date se recomienda usar la clase Instant del nuevo api java time para java 8, ver
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.htmlSalu2