Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - silk_25

#1
Java / Re: Abrir con windowlistener dos jdialog
9 Diciembre 2021, 21:34 PM
Hola otra vez. Ya lo he resuelto. A veces uno no sabe donde está el norte ni en cosas sencillas.
Creo que la resolución es:
public void windowClosing(WindowEvent e) {
        Window window=(Window)e.getWindow(); 
        if(marco.dialog.equals(window)){
           marco.setVisible(true);
           marco.dialog.setVisible(false);
        }   
         if(marco.dialog.equals(window)){
           marco.dialog.setVisible(true);
           marco.dialog.dialog2.setVisible(false);
        }
}
Espero que esta solución sea la correcta.
Un saludo.   
#2
Java / Abrir con windowlistener dos jdialog
8 Diciembre 2021, 22:42 PM
Hola.
Estoy haciendo un pograma y he utilizado siguiente método para cuando cierro el jdialog hijo me muestre el jframe padre.

public void windowClosing(WindowEvent e){
marco.setVisible(true);
marco.dialog1.setVisible(false);
}

Entonces quiero poder cerrar el dialog2 y abrir el dialog1. Pero creo que no lo puedo poner en el mismo método porque ..
marco.dialog1.setVisible(true);
msrco.dialog1.dialog2(false);

Sabeis como puedo ahcer esto?
Saludos a todos.
Gracias de antemano.
#3
Hola otra vez.
Ya he conseguido resolverlo. Solo era un problema de escritura al repetir ListadoSesiones
listadoSesiones en constructor.
Un saludo
#4
Java / java crear sesion cine nullpointerexception
13 Noviembre 2021, 16:04 PM
Hola, soy nuevo desde hoy.
Estoy realizando un programa java mvc de 4 paquetes con las siguientes clases: Menu, Cine, EntradaTeclado, Genero, ListadoPeliculas, ListadoSalas, ListadoSesiones, Pelicula, Sala, Sesion, PeliculaDao, SalaDao, SesionDao y Controlador. Aunque para el programa falta mucho y todo lo demás lo sé estoy estancado creando una sesión para la cual debo asignar una fecha y una película, y además debe haber una sala anteriormente. Me marca nullpointer exception. El controlador solo inicia el menú. Os adjunto la clase SesionDao, donde estoy atascado, y la clase Sala y Cine.
A ver si alguien me echa una mano.

Método de ListadoPeliculas que falla
public Pelicula getPelicula(String titulo){
       for(Pelicula pelicula:listadoPeliculas){
           if(pelicula.getTitulo().equals(titulo)){
               return pelicula;
           }
       }
       return null;
   }

Este método no es el que me preocupa. Me preocupa esto: cine.getListadoSalas().getSala(numSala).getListadoSesiones().addSesion(sesion);

En el constructor de Menu tengo:
public Menu(){
        opcion=0;
        et=new EntradaTeclado();
        cine=new Cine();
       
        peliculaDao=new PeliculaDao(cine);
        salaDao=new SalaDao(cine);
        sesionDao=new SesionDao(cine);
    }

Un saludo a todos.

Código (java) [Seleccionar]
public class SesionDao {
   private EntradaTeclado et;
   private Cine cine;
   private Sesion sesion;
   private LocalDateTime horaSesion;
   private Sala sala;
   private Pelicula pelicula;  
   
   public SesionDao(Cine cine){
       et=new EntradaTeclado();
       this.cine=cine;
   }
   
   public LocalDateTime indicarSesion(){
       System.out.print("Introduzca año: ");
       et.pedirEntrada();
       int anyo=Integer.parseInt(et.getEntrada());
       System.out.print("Introduzca mes: ");
       et.pedirEntrada();
       int mes=Integer.parseInt(et.getEntrada());
       System.out.print("Introduzca día: ");
       et.pedirEntrada();
       int dia=Integer.parseInt(et.getEntrada());
       System.out.print("Introduzca hora: ");
       et.pedirEntrada();
       int hora=Integer.parseInt(et.getEntrada());
       System.out.print("Introduzca minuto: ");
       et.pedirEntrada();
       int min=Integer.parseInt(et.getEntrada());
       System.out.print("Introduzca segundo: ");
       et.pedirEntrada();
       int sec=Integer.parseInt(et.getEntrada());
       horaSesion=LocalDateTime.of(anyo,mes,dia,hora,min,sec);
       return horaSesion;
   }
   
   public void createSesion(){
       System.out.println("CREAR NUEVA SESIÓN");
       if(cine.getListadoSalas().isEmpty()==true){
           System.out.println("No se puede crear una sesión");
       }else{
           try{          
               horaSesion=indicarSesion();
               
               System.out.print("Introduzca el título de la película: ");
               et.pedirEntrada();
               String titulo=et.getEntrada();//utilizar toUpperCase()
               //pelicula=new Pelicula();
               //pelicula.setTitulo(titulo);
               pelicula=cine.getListadoPeliculas().getPelicula(titulo);
               System.out.println(cine.getListadoPeliculas().getPelicula(titulo).toString());//FALLA
               
               System.out.print("Introduzca el número de sala: ");
               et.pedirEntrada();
               int numSala=Integer.parseInt(et.getEntrada());
               //sala=new Sala();
               //sala.setNumSala(numSala);
               sala=cine.getListadoSalas().getSala(numSala);
                System.out.println(sala.toString());
               sesion=new Sesion(horaSesion,pelicula);
               //opción 1
               //sala.getListadoSesiones().addSesion(sesion);
               //opción 2
               //cine.getListadoSalas().getSala(numSala).getListadoSesiones().addSesion(sesion);
               
           }catch(NumberFormatException e){
               System.out.println("El string insertado no tiene el formato apropiado");
           }
       }
   }
   
   public void readSesion(){//sin acabar
       System.out.println("\nVER SESIÓN");
       horaSesion=indicarSesion();
       //cine.getListadoSalas().getSala(numSala).mostrarInfoSala();
       sesion=new Sesion(horaSesion);
       //sesion=sala.getListadoSesiones().getSesion(horaSesion);
       sesion.mostrarInfoSesion();
   }
   
   public void updateSesion(){
       
   }
   
   public void deleteSesion(){
       
   }
}


Código (java) [Seleccionar]
public class Cine {
   private String nombre,direccion;
   private ListadoPeliculas listadoPeliculas;
   private ListadoSalas listadoSalas;
   
   public Cine(){
       nombre="WINDSOR";
       direccion="Trinidad 47";
       listadoPeliculas=new ListadoPeliculas();
       listadoSalas=new ListadoSalas();
   }

   public String getNombre() {
       return nombre;
   }

   public String getDireccion() {
       return direccion;
   }

   public ListadoPeliculas getListadoPeliculas() {
       return listadoPeliculas;
   }

   public ListadoSalas getListadoSalas() {
       return listadoSalas;
   }
   
}

Código (java) [Seleccionar]
public class Sala {
   private int numSala;
   private int butacas;
   private ListadoSesiones listadoSesiones;

   public Sala() {
       listadoSesiones = new ListadoSesiones();
       numSala=0;
       butacas=0;
   }

   
   public Sala(int numSala, int butacas) {
       this.numSala = numSala;
       this.butacas = butacas;
       ListadoSesiones listadoSesiones;
   }

   public int getNumSala() {
       return numSala;
   }

   public int getButacas() {
       return butacas;
   }

   public ListadoSesiones getListadoSesiones() {
       return listadoSesiones;
   }

   public void setNumSala(int numSala) {
       this.numSala = numSala;
   }

   public void setButacas(int butacas) {
       this.butacas = butacas;
   }
   
   @Override
   public String toString(){
       return "Número sala: "+numSala+", número butacas: "+butacas;
   }
   
   public void mostrarInfoSala(){
       System.out.println("INFORMACIÓN DE LA SALA");
       System.out.println("Id sala: <"+numSala+">\nNúmero de butacas: <"+butacas);
   }
}