Java - Ayuda con cierre de diálogos

 
Vista:

Ayuda con cierre de diálogos

Publicado por vicocas (3 intervenciones) el 06/07/2010 02:31:57
Hola gente, tengo un problema con el cierre de ventanas en mi programa. Se trata de un sistema de gestión de hipódromos donde tengo un menú principal y desde allí, entre otras cosas, debo crear, modificar y eliminar carreras. En la eliminación de carreras, al iniciar el Dialog correspondiente despliego un JOptionPane donde le pregunto al usuario si desea ingresar una fecha. Una vez que la ingresa (en caso de no hacerlo tomo la fecha actual), el sistema determina si existen carreras para esa fecha. Mi problema es que cuando no hay carreras, el Dialogo principal de eliminación de carrera igual se muestra (con datos vacíos, claro), aunque uso dispose ( ). He probado todo lo que se me ha ocurrido pero no logro que el Dialogo no se muestre cuando no hay carreras. Aclaro que la llamada al metodo ingresoDeFechas la hago desde el new del DialogEliminarCarrera. Al que me pueda dar una mano desde ya le agradezco.
Les dejo parte del código para que quede más claro:

public DlgEliminarCarrera(Frame owner, Hipodromo h) {
super(owner);
initialize();
hipodromoSeleccionado = h;
this.ingresoDeFecha();
Fachada.getInstancia().agregar(this);
}

private void ingresoDeFecha(){
boolean bandera=false;
int ingresoFecha = JOptionPane.showConfirmDialog(this,
"¿Desea ingresar la fecha?", "",
JOptionPane.YES_NO_OPTION);
if (ingresoFecha==1){
/*
* Opción no ingresar fecha
*/
fecha = fechaActual;
this.jTextFieldFechaIngresada.setText(fecha);
this.jTextFieldFechaIngresada.setEnabled(false);
bandera = true;
} else if (ingresoFecha==0){
/*
* Opción ingresar fecha
*/
String fechaIngresada = JOptionPane.showInputDialog(this, "Fecha : ",
"Ingrese la fecha de la carrera",
JOptionPane.INFORMATION_MESSAGE);
fecha = FormateadorDeFechas.formatearFechaIngresada(fechaIngresada);
if (!fecha.equals("x")){
if (validarFecha()){
this.jTextFieldFechaIngresada.setText(fecha);
this.jTextFieldFechaIngresada.setEnabled(false);
bandera = true;
}
}
}
if (bandera){
boolean hayCarreras = hayCarrerasEnGestionParaUnaFecha();
if (hayCarreras){
this.mostrarCarrerasEnGestionDeUnHipodromoEnUnaFechaEnJList();
} else {
this.setVisible(false);
this.dispose();
}
}
}

private boolean hayCarrerasEnGestionParaUnaFecha(){
if (hipodromoSeleccionado!=null && !fecha.trim().isEmpty()){
carrerasDeUnaFecha =
Fachada.getInstancia().obtenerCarrerasEnGestiónDeUnHipodromoEnUnaFecha(
hipodromoSeleccionado, fecha);
if (carrerasDeUnaFecha.size()<=0){
JOptionPane.showMessageDialog(this, "NO HAY CARRERAS PARA
ELIMINAR.",
"", JOptionPane.INFORMATION_MESSAGE);
return false;
}
}
return true;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con cierre de diálogos

Publicado por mayrita (163 intervenciones) el 06/07/2010 02:36:55
podrias probar poner en:
public DlgEliminarCarrera
un visible false

y en el if (carreras) de qeu si hay visible true
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con cierre de diálogos

Publicado por vicocas (3 intervenciones) el 06/07/2010 02:44:56
He probado también eso y no me ha dado resultado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar