Foro de elhacker.net

Programación => Java => Mensaje iniciado por: KeyPy HH en 9 Junio 2012, 18:05 pm



Título: Evitar abrir la misma instancia de un JInternalFrame al mismo tiempo
Publicado por: KeyPy HH en 9 Junio 2012, 18:05 pm
Hola Gente,

Mi inquietud está en que yo estoy desarrollando un proyecto MDI en Java sobre una comercializadora, por lo cual tengo que registrar y crear archivos de clientes, productos, facturas, etc.. Yo tengo mi JDesktopPanel en el cual abro todos mis JInternalFrame's, pero lo que quiero evitar es que se abran dos instancias del mismo JInternalFrame. ¿Cómo así? Que si yo tengo la opción "agregaCliente" como item en un menú y abro su respectivo JInternalFrame, no me abra dos JInternalFrame's del mismo "agregaCliente"... No se cómo sería esa validación, Si me puedieran facilitar o explicar esa funcion para evitar dicha situacion se los agradecería!!!


Muchas Gracias a Todos!


Título: Re: Evitar abrir la misma instancia de un JInternalFrame al mismo tiempo
Publicado por: 1mpuls0 en 11 Junio 2012, 21:49 pm
Hola.

No entiendo de que otra forma mostraría dos objetos del mismo tipo a menos de que el programador lo indique.
Tal vez puedes colocar algo de código para entender.

Saludos.


Título: Re: Evitar abrir la misma instancia de un JInternalFrame al mismo tiempo
Publicado por: gardoelhacker en 6 Septiembre 2012, 05:32 am
hola puede hacer lo siguiente:

Usuario usuario = new Usuario();  //crear el nuevo formulario
boolean mostrar=true;

for (int a=0;a<jdesktop.getComponentCount();a++){     // verificar si es instancia de algun componente que ya este en el jdesktoppane
    if( usuario.getClass().isInstance( jdesktop.getComponent(a) )){
        System.out.println("es instancia, no se debe mostrar");
        mostrar=false;
    }else{
        System.out.println("no lo es, puede mostrarse");
    }
}
if(mostrar){ jdesktop.add(usuario); }

saludos.