Error al cargar jInternalFrame

Buenas noches amigos, espero me ayuden :3
y sino de antemano gracias por la intención de intentar ayudarme.

Explico:
tengo un sistema con un jFrame este contiene un jMenu y un jDesktopPane, con el menú llamo a distintas pantallas (jInternalFrame) que tengo (20 en total), pues tengo un problema que al cargar algunas pantallas (NO todas). y todas las pantallas las llamo de la misma manera, la programación es similar en todas (botones de acciones, un mini catalogo, y las opciones para los registros o modificaciones, la base de datos es PostgreSQL.

NOTA: antes me funcionaba, ps antes manejaba las pantallas q cada vez q ejecutaba una opcion del menu, hacia lo siguiente:

ANTES:
--------------------------------------------------------------------------------------------

declaraba un boolean para cada pantalla

al ejecutar el actionlistener de la opcion me hacia esto:

if (WindowEmpresa==false){ //si el boolean es "false" entoncs:
ConfiguracionEmpresa gc = new ConfiguracionEmpresa();
int x = (jDesktop.getWidth()/2) - gc.getWidth()/2;
int y = (jDesktop.getHeight()/2) - gc.getHeight()/2;
jDesktop.add(gc);
gc.setLocation(x,y);
gc.show(); //muestra la pantalla
WindowEmpresa=true; //vuelve el boolean "true"
}else{ //sino
Notification.desktopMessage("¡Error!", "Ventana 'Empresa' Abierta", 1);
}

--------------------------------------------------------------------------------------------

pero ahora lo hago de otra manera:

AHORA:
--------------------------------------------------------------------------------------------

al abrir el menuprincipal este me carga todas las pantallas de una vez, el proceso tarda como 10 segs aprox,

al principio tengo declarado asi:

GestionPresupuesto gPresupuesto;

y dentro del constructor esto:

gPresupuesto = new GestionPresupuesto();

Despues de abrir el menuprincipal, al ejecutar el actionlistener de la opcion hago esto:

if(gPresupuesto.isShowing()){
if(!(gPresupuesto.isSelected())){
int x = (jDesktop.getWidth()/2) - gPresupuesto.getWidth()/2;
int y = (jDesktop.getHeight()/2) - gPresupuesto.getHeight()/2;
gPresupuesto.setLocation(x,y);
gPresupuesto.moveToFront();
}
}else{
int x = (jDesktop.getWidth()/2) - gPresupuesto.getWidth()/2;
int y = (jDesktop.getHeight()/2) - gPresupuesto.getHeight()/2;
jDesktop.add(gPresupuesto);
gPresupuesto.setLocation(x,y);
gPresupuesto.show();
}

y me lanza el siguiente error:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.synth.SynthComboBoxUI.paintCurrentValue(SynthComboBoxUI.java:378)
at javax.swing.plaf.synth.SynthComboBoxUI.paint(SynthComboBoxUI.java:357)
at javax.swing.plaf.synth.SynthComboBoxUI.update(SynthComboBoxUI.java:325)
at javax.swing.JComponent.paintComponent(JComponent.java:778)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5222)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5170)
at javax.swing.JComponent.paintImmediately(JComponent.java:4981)
at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.synth.SynthComboBoxUI.paintCurrentValue(SynthComboBoxUI.java:378)
at javax.swing.plaf.synth.SynthComboBoxUI.paint(SynthComboBoxUI.java:357)
at javax.swing.plaf.synth.SynthComboBoxUI.update(SynthComboBoxUI.java:325)
at javax.swing.JComponent.paintComponent(JComponent.java:778)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5222)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5170)
at javax.swing.JComponent.paintImmediately(JComponent.java:4981)
at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

--------------------------------------------------------------------------------------------

si alguien me puede ayudar, por favor, se lo agradeceria muchisimo :-D

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de pechsclk

El proceso tarda 10 minutos

de echo yo cargo de esta forma un JFrame internal pero este quien sabe a que se debe de que tarde.. trata de cargar de esta forma aver como te va, no se si ya lo solucionaste...

if (Container.countComponents() == 1) {
            JPClientesMovPrincipal llama = new JPClientesMovPrincipal(JDCPrincipalServidor.this, objRemoto);
            int x = (Container.getWidth() / 2) - llama.getWidth() / 2;
            int y = (Container.getHeight() / 2) - llama.getHeight() / 2;

            if (llama.isShowing()) {
                llama.setLocation(x, y);
            } else {
                llama.mostrar_datos(empleado, "ACTIVO FIJO");
                Container.add(llama);
                llama.abrir_ventana();
                llama.setLocation(x, y);
                llama.show();
            }
        }

bueno pasando a otro problema.. este yo manejo unos JInternal Frames y este.. hay veces se colgela y no reacciona no se a que se deba....
en un JInternal Frame tengo varios opcion donde voy abriendo varias ventanas y lo muestro en la misma venta... acontinuacion subo una pantalla
y aki le dejo el link

  • http://sim1.subirimagenes.net/img/2015/05/21/150521081009485333.png
  • pon tu condigo de programa de esta forma < li > codigo < li >
    ocupa los tags de abajo